OPENCV入门教程二十:Canny边缘检测

    xiaoxiao2024-11-28  6

    一、目标

    学习如何使用opencv中的函数,学习对图像进行边缘检测的操作,学习Canny()函数的使用

    二、函数说明

    函数原型:

    void Canny(InputArray src,OutputArray dst, double threshold1, double threshold2, int apertureSize=3,bool L2gradient=false )

    参数详解:

    src:源图像 dst:目标图像。 threshold1:第一个滞后性阈值。 threshold2:第二个滞后性阈值。 apertureSize:表示应用Sobel算子的孔径大小,其有默认值3。 L2gradient:一个计算图像梯度幅值的标识,有默认值false。

    需要注意的是,这个函数threshold1和threshold2两者的小者用于边缘连接,而大者用来控制强边缘的初始段, 推荐的高低阈值比在2:1到3:1之间。

    三、程序代码

    #include "cv.h" // OpenCV 文件头 #include "highgui.h" #include "opencv2/opencv.hpp" #include "opencv2/imgproc.hpp" #include <iostream> #include <string> using namespace cv; using namespace std; int main(int argc, char *argv[]) { Mat m_SrcImg; m_SrcImg = imread("C:\\Users\\lidabao\\Desktop\\image\\1\\LENA1.bmp", -1); namedWindow("原图像", 1); imshow("原图像", m_SrcImg); Mat m_ResImg; //Canny边缘检测 Canny(m_SrcImg, m_ResImg, 50, 200); namedWindow("Canny边缘检测", 1); imshow("Canny边缘检测", m_ResImg); waitKey(0); }

    四、结果

    程序运行如下图:

    五、注意

    正确的配置opencv 正确使用Canny()函数

    转载请注明原文地址: https://ju.6miu.com/read-1294045.html
    最新回复(0)