opencvCanny边缘检测

 2.jpg

    cv::Mat imageSource = cv::imread("D:/bb/tu/2.jpg",0);
    cv::namedWindow("原图像");
    cv::imshow("原图像",imageSource);
    cv::Mat image;
    cv::GaussianBlur(imageSource,image,cv::Size(3,3),0);//过滤
    cv::Canny(image,image,50,100); //边缘检测
    //第一个参数:输入图像(八位的图像)
    //第二个参数:输出的边缘图像
    //第三个参数:下限阈值,如果像素梯度低于下限阈值,则将像素不被认为边缘
    //第四个参数:上限阈值,如果像素梯度高于上限阈值,则将像素被认为是边缘(建议上限是下限的2倍或者3倍)
            //在阈值1和阈值2之间的像素点,若与第2步得到的边缘像素点相邻,则被认为是边缘,否则被认为不是边缘
    //第五个参数:为Sobel()运算提供内核大小,默认值为3
    //第六个参数:是否采用更精确的方式计算图像梯度,默认值为false
    cv::namedWindow("边缘图像");
    cv::imshow("边缘图像",image);

原文地址:https://www.cnblogs.com/liming19680104/p/15548930.html