OpenCV-Canny边缘检测算法

OpenCV-Canny边缘检测算法
文章图片

非最大信号抑制:不是最大信号就舍弃;
OpenCV-Canny边缘检测算法
文章图片

OpenCV-Canny边缘检测算法
文章图片

L1表示
OpenCV-Canny边缘检测算法
文章图片

L2表示
OpenCV-Canny边缘检测算法
文章图片

API:
OpenCV-Canny边缘检测算法
文章图片

#include #include #include using namespace std; using namespace cv; Mat src, temp, gray_src, dst; int t1_value = https://www.it610.com/article/50; int max_value = 255; const char* OUTPUT_TITLE ="OUTPUT"; void Canny_Demo(int, void*); int main(int argc, char** argv) { src = https://www.it610.com/article/imread("E://VS-pro//images//zhu.jpg"); if (!src.data) { cout << "can not find .." << endl; return -1; } imshow("原图", src); //高斯模糊 在计算灰度图像的X方向梯度图像以及Y方向梯度图像,求混和后振幅图像,更加清晰的边缘 cvtColor(src, gray_src, COLOR_BGR2GRAY); imshow("灰度图像", gray_src); namedWindow(OUTPUT_TITLE); createTrackbar("Threshold value: ", OUTPUT_TITLE, &t1_value, max_value, Canny_Demo); Canny_Demo(0, 0); waitKey(0); return 0; }void Canny_Demo(int, void*) { GaussianBlur(gray_src, gray_src, Size(3, 3), 0, 0); //blur(gray_src, gray_src, Size(3, 3), Point(-1, -1), BORDER_DEFAULT); Canny(gray_src, dst, t1_value, t1_value * 2, 3, false); imshow(OUTPUT_TITLE, ~dst); }

【OpenCV-Canny边缘检测算法】OpenCV-Canny边缘检测算法
文章图片

    推荐阅读