美文网首页
Scharr(iOS)滤波器(边缘检测)

Scharr(iOS)滤波器(边缘检测)

作者: 傻傻小萝卜 | 来源:发表于2017-05-15 13:56 被阅读335次

    我们一般直接称scharr为滤波器,而不是算子

    计算图像差分:Scharr()函数

    void Scharr( InputArray src, // 源图

                          OutputArray dst, // 目标图

                          int ddepth,// 图像深度

                          int dx,// x方向上的差分阶数

                          int dy,// y方向的差分阶

                          double scale = 1,// 缩放因子

                          double delta = 0,// delta值

                          int borderType = BORDER_DEFAULT// 边界模式

     );

    函数参数详解

    代码示例

    NSString *image = @"star.png";

    UIImage *image1 = [UIImage imageNamed:image];

    Mat im;

    UIImageToMat(image1, im);

    if (im.empty()) {

    return;

    }

    Mat scharr_grad_x,scharr_grad_y;

    Mat abs_scharr_grad_x,abs_scharr_grad_y,scharr_gray;

    // 将原图变为灰度图

    cvtColor(im, scharr_gray,COLOR_RGBA2GRAY);

    // 求x方向的梯度

    Scharr(scharr_gray, scharr_grad_x, CV_16S, 1, 0);

    convertScaleAbs(scharr_grad_x, abs_scharr_grad_x);

    // 求y方向的梯度

    Scharr(scharr_gray, scharr_grad_y, CV_16S, 0, 1);

    convertScaleAbs(scharr_grad_y, abs_scharr_grad_y);

    // 合并梯度(近似的)

    addWeighted(abs_scharr_grad_x, 0.5, abs_scharr_grad_y, 0.5, 0, dst);

    self.secondImageView.image = MatToUIImage(dst);

    效果

    相关文章

      网友评论

          本文标题:Scharr(iOS)滤波器(边缘检测)

          本文链接:https://www.haomeiwen.com/subject/yjkhxxtx.html