美文网首页
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