函数 :
cv::Canny( Mat gray_img, Mat dst_img, int lowThreshold,int highThreshold, int kernel_size );
参数:
gray_img : 输入图片,灰度图
Dst_img : 输出图片,边缘图,和输入图片一样大小
lowThreshold : 最小阈值
highThreshold : 最大阈值
Kernel_size : 内核大小,常用3
描述:
边缘检测器生成的图像是输入图像的全尺寸,但只需要写入单通道图像,因此我们首先转换为灰度单通道图像。
使用带有标志的 cv::cvtColor() 将蓝色、绿色、红色 (BGR) 图像转换为灰色%u2010
比例,cv::COLOR_BGR2GRAY。
示例:
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv)
{
Mat inputImage;
Mat grayImage;
Mat cannyImage;
namedWindow("Input Image", WINDOW_AUTOSIZE);
namedWindow("Canny Image", WINDOW_AUTOSIZE);
inputImage = imread("C:\\Users\\10985\\source\\repos\\CVDemo01\\test02_original\\10.png");
//转为灰度图
cvtColor(inputImage, grayImage, COLOR_BGR2GRAY);
//边缘加测
Canny(grayImage, cannyImage, 10, 100, 3);
imshow("Input Image", inputImage);
imshow("Canny Image", cannyImage);
waitKey(0);
return 0;
}

本文介绍了C++中使用OpenCV库的cv::Canny函数进行边缘检测的方法。该函数需要灰度图像作为输入,并提供最小阈值、最大阈值和内核大小等参数。通过调用cv::cvtColor将BGR图像转换为灰度图,然后应用Canny算法获取边缘图像。
5760

被折叠的 条评论
为什么被折叠?



