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

学习opencv——读取视频并进行canny检测

2014-10-27 10:45 381 查看
(1)  从视频文件读入数据;

(2)  将读入数据转换为灰度图;

(3)  做Canny边缘检测。

将三个过程的处理结果显示到不同的窗口中,每个窗口根据其内容合理命名

#include <cv.h>
#include <highgui.h>

int main()
{
cvNamedWindow("Video", CV_WINDOW_AUTOSIZE);
cvNamedWindow("Gray", CV_WINDOW_AUTOSIZE);
cvNamedWindow("Canny", CV_WINDOW_AUTOSIZE);

CvCapture *capture = cvCreateFileCapture("D:\\OpenCV_Test.avi");
IplImage *frame;
IplImage *frame_gray;
IplImage *frame_canny;

frame = cvQueryFrame(capture);
frame_gray = cvCreateImage(cvGetSize(frame), IPL_DEPTH_8U, 1);
frame_canny = cvCreateImage(cvGetSize(frame), IPL_DEPTH_8U, 1);

while(1)
{
if(!frame)
{
break;
}

cvConvertImage(frame, frame_gray, 1);
cvCanny(frame_gray, frame_canny, 10, 100, 3);

cvShowImage("Video", frame);
cvShowImage("Gray", frame_gray);
cvShowImage("Canny", frame_canny);

char c = cvWaitKey(33);
if (c == 27)
{
break;
}
frame = cvQueryFrame(capture);
}

cvReleaseCapture(&capture);

cvDestroyAllWindows();

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  opencv 视频