博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenCV学习笔记——视频的边缘检测
阅读量:5291 次
发布时间:2019-06-14

本文共 1935 字,大约阅读时间需要 6 分钟。

使用Canny算子进行边缘检测,并分开输出到三个窗口中,再给每一个窗口添加文字

代码:

 

#include"cv.h"#include"highgui.h"//读入视频并转换为灰度图再作边缘检测//并分开三个窗口输出IplImage *frame,*gray,*canny,*uni,*temp;int wid=-1, hei=-1;int main(void){	CvCapture *src = cvCreateFileCapture("Megamind.avi");	//cvNamedWindow("Union");	cvNamedWindow("Origin");	cvNamedWindow("Gray");	cvNamedWindow("Canny");	CvFont r, g, c;	cvInitFont(&r, CV_FONT_HERSHEY_TRIPLEX, 1, 1, 0);	cvInitFont(&g, CV_FONT_HERSHEY_TRIPLEX, 1, 1, 0);	cvInitFont(&c, CV_FONT_HERSHEY_TRIPLEX, 1, 1, 0);	while (1)	{		frame = cvQueryFrame(src);		if (!frame)			break;		/*if (wid == -1)		{			wid = frame->width;			hei = frame->height;		}*/		if (cvWaitKey(33) == 27)			break;		temp = cvCreateImage(cvGetSize(frame), IPL_DEPTH_8U, 3);		cvCopy(frame, temp);		cvPutText(temp, "Original", CvPoint(10, 30), &r, CV_RGB(0, 204, 153));//显示文字		cvShowImage("Origin", temp);			gray = cvCreateImage(cvGetSize(frame), IPL_DEPTH_8U, 1);//先创建图像指针		cvConvertImage(frame, gray);		canny = cvCreateImage(cvGetSize(gray), IPL_DEPTH_8U, 1);//同上先创建		cvPutText(gray, "Gray", CvPoint(10, 30), &g, CV_RGB(0, 204, 153));//显示文字		cvShowImage("Gray", gray);//显示到灰度窗口中				cvCanny(gray, canny, 20, 250, 3);//边缘检测处理		cvPutText(canny, "Canny", CvPoint(10, 30), &c, CV_RGB(0, 204, 153));		cvShowImage("Canny", canny);//显示到边缘检测窗口中				/*uni = cvCreateImage(CvSize(3 * frame->width, frame->width), IPL_DEPTH_8U,3);		CvRect pos1 = CvRect(0, 0, wid, hei);		CvRect pos2 = CvRect(wid, 0, wid, hei);		CvRect pos3 = CvRect(2*wid, 0 ,wid, hei);		cvSetImageROI(uni, pos1);		cvCopy(frame, uni);		cvResetImageROI(uni);		cvSetImageROI(uni, pos2);		uni->nChannels = 1;		cvCopy(gray, uni);		cvResetImageROI(uni);		cvSetImageROI(uni, pos3);		uni->nChannels = 1;		cvCopy(canny, uni);		cvResetImageROI(uni);		cvShowImage("Union", uni);*/	}	cvDestroyAllWindows();	cvReleaseCapture(&src);	cvReleaseImage(&gray);	cvReleaseImage(&canny);	return 0;}

转载于:https://www.cnblogs.com/Blackops/p/5766271.html

你可能感兴趣的文章
将.lib库文件转换成.a库文件的工具
查看>>
FZU 2129 子序列个数 (动态规划)
查看>>
20155324 2016-2017-2 《Java程序设计》第7周学习总结
查看>>
CSS清浮动处理(Clear与BFC)
查看>>
thinkphp路由
查看>>
HDU - 1248-寒冰王座
查看>>
angular OnChange事件
查看>>
owin Oauth
查看>>
java String 强化操作 判断数字 字符串转阿拉伯数字,相似度等等
查看>>
Win(Phone)10开发第(5)弹,本地媒体服务器的一些注意事项
查看>>
[HDU5536] Chip Factory
查看>>
面向对象与设计模式
查看>>
Android热修复原理
查看>>
算法(二):查找
查看>>
●BZOJ 3529 [Sdoi2014]数表
查看>>
Linux禁止root账户远程登录
查看>>
php 单例模式
查看>>
Angular项目中引入jQuery
查看>>
C# Linq 交集、并集、差集、去重
查看>>
JAVA初始化顺序
查看>>