OPENCV入门教程二十:Canny边缘检测

来源:互联网 发布:九阴真经买淘宝礼包 编辑:程序博客网 时间:2024/05/17 02:31

一、目标

学习如何使用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"                             //  OpenCV 文件头#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边缘检测    Canny(m_SrcImg, m_ResImg, 50, 200);    namedWindow("Canny边缘检测", 1);    imshow("Canny边缘检测", m_ResImg);    waitKey(0);}

四、结果

程序运行如下图:
这里写图片描述

五、注意

正确的配置opencv
正确使用Canny()函数

0 0
原创粉丝点击