利用opencv改变视频长宽

[cpp] view plaincopy

  1. #include <windows.h>  
  2. #include "cv.h"    
  3. #include "highgui.h"    
  4. int main()  
  5. {  
  6.  CvCapture *capture = cvCreateFileCapture("F:\\OPENCV实验室\\test7.avi"); //打开视频文件  
  7.   
  8.   
  9.     if (capture == NULL)  
  10.     {  
  11.   
  12.         return  - 1;  
  13.     }  
  14.   
  15.     int fps= (int) cvGetCaptureProperty(capture, CV_CAP_PROP_FPS);//帧数  
  16.     CvVideoWriter *writer = 0;//创建输出的avi视频  
  17.     int isColor = 1;  
  18.     writer=cvCreateVideoWriter("out.avi",CV_FOURCC('P','I','M','1'),  
  19.                             fps,cvSize(640,360),isColor);//cvSize输入你想要的长宽  
  20.   
  21.   
  22.     IplImage *frame;  
  23.     IplImage *frame_copy = 0;    
  24.       frame_copy = cvCreateImage( cvSize(640,360),    
  25.                 IPL_DEPTH_8U, 3 );     //图片cvSize设置长宽  
  26.     while(1)  
  27.         
  28.       {  
  29.     frame = cvQueryFrame(capture);//获取一帧  
  30.     if (!frame)  
  31.             {  
  32.   
  33.                 printf("finish!\n");  
  34.                 system("pause");  
  35.                 return 0;  
  36.             }  
  37.     cvResize( frame, frame_copy,1 );//获取的一帧重新设置大小  
  38.     cvWriteFrame(writer,frame_copy);//将一幅图片压入avi视频中  
  39.   
  40. }  
  41. }  


在vs2010创建一个win32空项目,添加一个cpp文件,粘贴上边代码,别忘了设置opencv那些库,编译即可。记得修改那个avi视频的路径。

猜你喜欢

转载自blog.csdn.net/wh8_2011/article/details/81074443