时间: 2020-11-26|35次围观|0 条评论

OpenCV——边缘检测入门、Canny边缘检测插图

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

//Canny边缘检测的一般过程:
//转成灰度图
//降噪
//用Canny算子(此时已经得到了边缘)
//将边缘作为掩码,拷贝原图到效果图上,得到彩色的边缘


int main(int argc, char** argv)
{
	Mat src = imread("E:\\VS2015Opencv\\vs2015\\project\\picture\\cat.jpg");
	Mat src1 = src.clone();
	imshow("原图", src);
	Mat dst, edge, gray;

	//初始化输出图
	dst.create(src1.size(), src1.type()); 
		dst = Scalar::all(0);

	//转成灰度图
	cvtColor(src1, gray, COLOR_BGR2GRAY);

	//均值滤波降噪,也可以用其他滤波方法
	blur(gray, edge, Size(3, 3));

	//运行canny算子,得到边缘
	Canny(edge, edge, 3, 9, 3);

	//掩膜的存在使得只有边缘部分被copy,得到彩色的边缘
	src1.copyTo(dst, edge);

	imshow("效果图", dst);

	waitKey(0);
	return 0;

}

  边缘检测的相关原理和步骤

OpenCV——边缘检测入门、Canny边缘检测插图1

OpenCV——边缘检测入门、Canny边缘检测插图2

OpenCV——边缘检测入门、Canny边缘检测插图3

 

转载于:https://www.cnblogs.com/fcfc940503/p/11282329.html

原文链接:https://blog.csdn.net/weixin_30342827/article/details/99668938

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《OpenCV——边缘检测入门、Canny边缘检测
   

还没有人抢沙发呢~