《学习OpenCV (中文版)》第2章 练习3和练习4
2013-11-21 16:46
323 查看
IplImage* doPyrDown(IplImage* in, int filter = IPL_GAUSSIAN_5x5) { //assert(in->width%2 ==0 && in->height%2==0); IplImage* out = cvCreateImage(cvSize(in->width/2, in->height/2), in->depth, in->nChannels); cvPyrDown(in, out); return out; } void fromCamera2() { CvCapture* capture = cvCreateCameraCapture(0); //CvCapture* capture = cvCreateFileCapture("I:/Movies/上海武士01.mkv"); cvNamedWindow("camera", CV_WINDOW_AUTOSIZE); if(capture != NULL) { IplImage* frame; frame = cvQueryFrame(capture); double fps = cvGetCaptureProperty(capture, CV_CAP_PROP_FPS); if(fps<0.00000001) fps = 23.0; CvSize size = cvSize( (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH)/2, //要注意这里的大小,与变换后的图像一致 (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT)/2 ); CvVideoWriter* writer = cvCreateVideoWriter("camera.avi", CV_FOURCC('M', 'J', 'P', 'G'), fps, size); CvSize size2 = cvSize( (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH), (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT) ); CvVideoWriter* writer2 = cvCreateVideoWriter("camera.mkv", CV_FOURCC('M', 'J', 'P', 'G'), fps, size2); IplImage* out_frame = cvCreateImage(size, IPL_DEPTH_8U, 3); IplImage* rframe = frame; while(1) { frame = cvQueryFrame(capture); if(!frame) { break; } cvShowImage("camera", rframe); out_frame = doPyrDown(frame); cvWriteFrame(writer, out_frame); cvWriteFrame(writer2, frame); char c = cvWaitKey(10); if(c==27) break; } cvReleaseVideoWriter(&writer); } else { std::cout<<"NULL"<<std::endl; } cvReleaseCapture(&capture); cvDestroyWindow("camera"); }
相关文章推荐
- 《学习OpenCV(中文版)》第4章 练习5a
- 《学习OpenCV(中文版)》第4章 练习2
- 《学习OpenCV(中文版)》第4章 练习1
- 《学习OpenCV(中文版)》第4章 练习3a
- 《学习OpenCV(中文版)》第4章 练习3b
- 《学习OpenCV(中文版)》第4章 练习4
- C++ primer 第五版 中文版 9.2.4 节练习
- 分享《学习opencv》中文版pdf
- 《学习OpenCV(中文版)》第2章 练习5
- C++ primer 第五版 中文版 练习 11.32 个人code
- C++ primer 第五版 中文版 练习 12.23 个人code
- C++ primer 第五版 中文版 练习 10.37
- opencv学习(三)书本《学习Opencv》(中文版)第四章的样例Ex4-1(opencv3.0.0+VS2012+win7)
- 《学习OpenCV》练习5-2
- jQuery基础教程-第2章练习
- C++ Primer Plus 第6版 中文版 第5章编程练习
- Papervision3D Essentials中文版,附Papervision3D_2.1.920.swc和章节练习源码
- c++ primer plus(第6版)中文版 第八章编程练习答案
- <<C和指针>>第2章之编程练习心得20140709
- 《火球——UML大战需求分析》(第2章 耗尽脑汁的需求分析工作)——2.5 小结与练习