OpenCV--边缘检测-Canny()-copyTo()

本文主要介绍的是OpenCV中Canny算子的使用,包括灰度图的canny检测和彩色canny边缘的检测。

检测结果如下图所示:


这里需要额外介绍一个函数:

voidMat::copyTo(OutputArray m, InputArray mask) const

含义:拷贝原图在mask中非零的值到目标图中。

官方文档原文如下:   

void Mat::copyTo(OutputArray m, InputArray mask) const

Parameters:  ● m – Destination matrix. If it does nothave a proper size or type before the operation, it is reallocated.

                          ●  mask – Operation mask. Its non-zeroelements indicate which matrix elements need to be copied.

OpenCV API Reference   http://docs.opencv.org/2.4.9/modules/refman.html

#include <opencv2\imgproc\imgproc.hpp>  
#include <opencv2\highgui\highgui.hpp>  

using namespace cv;  

int main()  
{  
	//载入图像  
	Mat src=imread("1.jpg");  
	Mat out;  
	imshow("原图",src);  

	Canny(src,out,200,100,3);  
	imshow("灰度canny边缘",out);  

	//方法2  
	Mat dst; 
	//创建与src同类型一样大小的矩阵  
	dst.create(src.size(),src.type());  
	dst=Scalar::all(0); 
	//将src1的out2部分复制到dst  
	src.copyTo(dst,out); 
	imshow("彩色canny边缘",dst);  

	waitKey();  
	return 0;  
}  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值