您的位置:首页 > 运维架构

OpenCV 3学习笔记(三) 对图像进行Canny边缘检测

2016-12-17 15:25 393 查看

简介

对一个图像进行Canny边缘检测要通过一下几个步骤

载入图像——imread()函数

灰度——cvtColor()函数

均值滤波(即图像模糊)来降噪——blur()函数

运行Canny算子——Canny()函数

废话少说,直接上代码

Canny边缘检测

#include <opencv2/opencv.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;

int main(){

Mat srcImage = imread("/Users/YWY/Pictures/house.jpg");
imshow("Original Image", srcImage);

Mat grayImage,edge;
//转换为灰度图
cvtColor(srcImage, grayImage, COLOR_BGR2GRAY);
//降噪
blur(grayImage, edge, Size(3,3));
//运行Canny算子,3为threshold1,9为threshold2
Canny(edge, edge, 3, 9);

imshow("After canny", edge);
waitKey(0);
return 0;
}


PS. 针对cvtColor这个函数里的第三个参数,你即可以用CV_BGR2GRAY,也可以用 COLOR_BGR2GRAY来表示从BGR格式转换为灰度图。但需要说明的是,前者是OpenCV2中的用法,而后者则是OpenCV3中的用法,建议大家还是习惯用 COLOR_BGR2GRAY比较好,毕竟我们学的是OpenCV3嘛,说不准哪天官方就不支持CV这种用法了呢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  opencv