一、目标
学习如何使用opencv中的函数,学习对图像进行边缘检测的操作,学习Canny()函数的使用
二、函数说明
函数原型:
void Canny(InputArray src,OutputArray dst,
double threshold1,
double threshold2,
int apertureSize=
3,
bool L2gradient=
false )
参数详解:
src:源图像 dst:目标图像。 threshold1:第一个滞后性阈值。 threshold2:第二个滞后性阈值。 apertureSize:表示应用Sobel算子的孔径大小,其有默认值3。 L2gradient:一个计算图像梯度幅值的标识,有默认值false。
需要注意的是,这个函数threshold1和threshold2两者的小者用于边缘连接,而大者用来控制强边缘的初始段, 推荐的高低阈值比在2:1到3:1之间。
三、程序代码
#include "cv.h"
#include "highgui.h"
#include "opencv2/opencv.hpp"
#include "opencv2/imgproc.hpp"
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main(
int argc,
char *argv[])
{
Mat m_SrcImg;
m_SrcImg = imread(
"C:\\Users\\lidabao\\Desktop\\image\\1\\LENA1.bmp", -
1);
namedWindow(
"原图像",
1);
imshow(
"原图像", m_SrcImg);
Mat m_ResImg;
Canny(m_SrcImg, m_ResImg,
50,
200);
namedWindow(
"Canny边缘检测",
1);
imshow(
"Canny边缘检测", m_ResImg);
waitKey(
0);
}
四、结果
程序运行如下图:
五、注意
正确的配置opencv 正确使用Canny()函数
转载请注明原文地址: https://ju.6miu.com/read-1294045.html