zoukankan      html  css  js  c++  java
  • OpenCV学习笔记之课后习题练习2-3

    3.使用例2-10中的视频捕捉和存储方法,结合例2-5中的doPyrDown()创建一个程序,使其从摄像机读入视频数据并将缩放变换后的彩色图像存入磁盘。

    例2-10中所用的方法虽然能正常运行,但却不能生成存储的视频,百思不得其解。遂参考了一篇博文:blog.csdn.net/jacke121/article/details/54607863

    利用文中的方法实现了上述功能。代码如下

     1 /*ch2_lx2_3.cpp  2017/11/29
     2   本程序是learning opencv这本书的课后习题练习
     3   欢迎提出问题一起讨论*/
     4 #include "cv.h"
     5 #include "highgui.h"
     6 using namespace std;
     7 IplImage* doPyrDown(
     8     IplImage* in,
     9     int filter = IPL_GAUSSIAN_5x5)
    10 {
    11 assert(in->width%2 == 0 && in->height%2 == 0);
    12 
    13  IplImage* out = cvCreateImage( 
    14         cvSize( in->width/2, in->height/2 ),
    15         in->depth,
    16         in->nChannels
    17     );
    18     cvPyrDown(in,out);
    19     return(out);
    20 };
    21 int main( int argc, char** argv )
    22 {
    23 cvNamedWindow( "Example2",CV_WINDOW_AUTOSIZE);
    24 cvNamedWindow( "Example3",CV_WINDOW_AUTOSIZE);
    25 CvCapture* capture = cvCreateFileCapture(argv[1]);
    26 IplImage* frame;
    27 IplImage* img;
    28 CvVideoWriter *video=NULL;
    29 int i=0;
    30 int n;
    31 while(1)
    32 {
    33   frame = cvQueryFrame( capture );
    34   img = doPyrDown( frame );
    35   if( !frame ) break;
    36 
    37   if(i==0)
    38     video=cvCreateVideoWriter("camera.avi",CV_FOURCC('X', 'V', 'I', 'D'),25,cvSize(img->width,img->height)); 
    39   if(video)
    40   {
    41             cout<<"video writer has created!"<<endl;
    42   }
    43   n=cvWriteFrame(video,img);
    44   printf("cvWriteFrame %d
    ", n);
    45   i++;
    46         cout<<n<<endl;
    47   cvShowImage( "Example2", frame );
    48   cvShowImage( "Example3", img );
    49   char c = cvWaitKey(33);
    50   if( c == 27 ) break;
    51 
    52     }
    53     cvReleaseImage(&frame);
    54     cvReleaseImage(&img);
    55     cvReleaseVideoWriter(&video);
    56     cvReleaseCapture( &capture );
    57     cvDestroyWindow( "Example2" );
    58     return 0;
    59 } 
  • 相关阅读:
    [BUUCTF]REVERSE——rsa
    windows下python3.7安装gmpy2、Crypto 库及rsa
    [BUUCTF]PWN——wustctf2020_getshell1/2
    [BUUCTF]PWN——bbys_tu_2016
    [BUUCTF]PWN——xdctf2015_pwn200
    [BUUCTF]REVERSE——[GXYCTF2019]luck_guy
    [BUUCTF]REVERSE——简单注册器
    [BUUCTF]PWN——pwnable_orw
    [BUUCTF]REVERSE——findit
    [BUUCTF]PWN——jarvisoj_level1
  • 原文地址:https://www.cnblogs.com/feifanrensheng/p/7923119.html
Copyright © 2011-2022 走看看