opencv---------边沿检测Canny算子

    技术2026-04-08  10

    // opencv4_canny.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> #include <opencv2/opencv.hpp> #include <opencv2/imgproc.hpp> using namespace cv; using namespace std; //debug下在lib文件的名称后加d,release下不加d。 int main() { Mat img = imread("../res/test.jpg"); //一个点代表省略当前文件夹路径,两个点则代表回到上一个文件夹路径 if (img.data == NULL) { std::cout << "image read is null" << std::endl; return -10; } /*namedWindow("【原图】", WINDOW_AUTOSIZE);*/ imshow("【原图】", img); //创建一个与原图像相同大小和类型的矩阵 Mat dstimg; dstimg.create(img.size(), img.type()); //将原图像转换为灰度图像 Mat grayimg; cvtColor(img, grayimg, COLOR_BGR2GRAY); imshow("【灰度效果图】", grayimg); //使用3 x 3 的内核来降噪 Mat edge; blur(grayimg, edge, Size(3, 3)); imshow("【降噪效果图】", edge); //运行Canny算子 Canny(edge, edge, 3, 9, 3); imshow("【边沿检测效果图】", edge); waitKey(0); return 0; }

     

    Processed: 0.011, SQL: 9