美文网首页
OpenCV图像处理(十二)边缘检测算子:Canny算子

OpenCV图像处理(十二)边缘检测算子:Canny算子

作者: 行走行囊 | 来源:发表于2018-04-17 06:56 被阅读0次

    1、Canny边缘检测步骤

    ①高斯去噪
    ②Sobel计算梯度幅值和方向
    ③非极大值抑制
    ④滞后阈值,其中的高阈值和低阈值:

    • 若某一像素值高于高阈值,则保留为边界。
    • 若某一像素值低于低阈值,则过滤。
    • 若在两者之间,该像素值仅仅在连接到一个高于高阈值的像素才被保留。

    2、测试代码

    原型

    void Canny( InputArray image, // 输入图像,必须为单通道8位图
                        OutputArray edges,// 输出图像
                        double threshold1, double threshold2,// 低阈值和高阈值
                        int apertureSize = 3,// 核大小
                        bool L2gradient = false );// 计算图像梯度幅值的标识
    
    void test10() {
        Mat src = imread("D:/line2.png");
        imshow("src", src);
        Mat gray,dst;
        cvtColor(src, gray, CV_BGR2GRAY);
        imshow("gray", gray);
        Canny(gray,dst,100,200);
        imshow("dst", dst);
    }
    
    src gray dst

    相关文章

      网友评论

          本文标题:OpenCV图像处理(十二)边缘检测算子:Canny算子

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