学院网站建设服务宗旨,怎么做直播室的网站,余杭门户网站,国内做电商网站文章目录 cvCanny完整示例代码 cvCanny
这行代码使用OpenCV库中的 cvCanny 函数对灰度图像进行边缘检测。让我解释一下#xff1a;
cvCanny(gray, dst, 10, 100, 3);gray: 这是输入的灰度图像#xff0c;即要进行边缘检测的图像。dst: 这是输出的边缘图像#xff0c;即将结… 文章目录 cvCanny完整示例代码 cvCanny
这行代码使用OpenCV库中的 cvCanny 函数对灰度图像进行边缘检测。让我解释一下
cvCanny(gray, dst, 10, 100, 3);gray: 这是输入的灰度图像即要进行边缘检测的图像。dst: 这是输出的边缘图像即将结果存储到的图像。10: 这是Canny边缘检测算法的低阈值。像素梯度值低于该阈值的边缘点将被抑制。100: 这是Canny边缘检测算法的高阈值。像素梯度值高于该阈值的像素将被认为是强边缘而低于该阈值但高于低阈值的像素将根据连接性保留或抑制。3: 这是Sobel运算符的内核大小用于计算图像的梯度。在这里内核大小为3表示使用3x3的Sobel内核。
所以整个行的作用是使用Canny边缘检测算法对输入的灰度图像进行边缘检测并将结果存储在 dst 中。这是一种常见的图像处理操作用于检测图像中的边缘结构。
完整示例代码
program cv_Canny;{$APPTYPE CONSOLE}
{$R *.res}usesSystem.SysUtils,ocv.highgui_c,ocv.core_c,ocv.core.types_c,ocv.imgproc_c,ocv.imgproc.types_c,uResourcePaths;constfilename cResourceMedia cat2.jpg;varimage: pIplImage nil;gray: pIplImage nil;dst: pIplImage nil;begintryimage : cvLoadImage(filename);WriteLn(Format([i] image: %s, [filename]));//创建两张纯灰图像gray : cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1);dst : cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1);cvNamedWindow(original, CV_WINDOW_AUTOSIZE);cvNamedWindow(gray, CV_WINDOW_AUTOSIZE);cvNamedWindow(cvCanny, CV_WINDOW_AUTOSIZE);// 灰度化图片cvCvtColor(image, gray, CV_RGB2GRAY);// 边缘检测cvCanny(gray, dst, 10, 100, 3);cvShowImage(original, image);cvShowImage(gray, gray);cvShowImage(cvCanny, dst);cvWaitKey(0);cvReleaseImage(image);cvReleaseImage(gray);cvReleaseImage(dst);cvDestroyAllWindows();excepton E: Exception doWriteLn(E.ClassName, : , E.Message);end;end.