首页 > 其他 > 详细

[学习OpenCV攻略][008][Canny边缘检测]

时间:2015-10-29 16:15:53      阅读:276      评论:0      收藏:0      [点我收藏+]

cvGetSize(输入图片)

得到输入图片的大小

 

cvCanny(输入图片,输出图片,lowThresh,highThresh,aperture)

把输入图片按设定光圈值进行Canny边缘检测,然后输出到输出图片中

 

#include "cv.h"
#include "highgui.h"

IplImage *doCanny(IplImage *in, double lowThresh, double highThresh, double aperture){
	if(in->nChannels != 1){
		return NULL;
	}
	
	IplImage *out = cvCreateImage(cvGetSize(in), in->depth, 1);
	cvCanny(in, out, lowThresh, highThresh, aperture);
	
	return out;
}

int main(int argc, char **argv){
	IplImage *img_rgb = cvLoadImage(argv[1]);
	IplImage *img_gry = cvCreateImage(cvSize(img_rgb->width, img_rgb->height), img_rgb->depth, 1);
	
	cvCvtColor(img_rgb, img_gry, CV_BGR2GRAY);
	
	cvNamedWindow("gray", CV_WINDOW_AUTOSIZE);
	cvNamedWindow("canny", CV_WINDOW_AUTOSIZE);
	
	cvShowImage("gray", img_gry);
	
	IplImage *img_cny = doCanny(img_gry, 10, 100, 3);
	cvShowImage("canny", img_cny);
	
	cvWaitKey(0);
	
	cvReleaseImage(&img_cny);
	cvReleaseImage(&img_gry);
	cvReleaseImage(&img_rgb);
	
	cvDestroyWindow("canny");
	cvDestroyWindow("gray");
	
	return 0;
}

 

[学习OpenCV攻略][008][Canny边缘检测]

原文:http://www.cnblogs.com/d442130165/p/4920588.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!