lovepan1314

将彩色视频转换为灰度视频源代码

0
阅读(961)

很简单的功能,就是实现一个彩色视频转化为灰度视频


[cpp] view plain copy  

  1. #include "cv.h"  

  2. #include "highgui.h"  

  3. #include "iostream.h"  

  4.   

  5. int main()  

  6. {  

  7.     CvCapture *capture = cvCreateFileCapture("C:\\超人不会飞.avi");  

  8.     if(!capture)  

  9.     {  

  10.         cout<<"无法读取视频"<<endl;  

  11.     }  

  12.     IplImage * image;  

  13.     cvNamedWindow("orign",CV_WINDOW_AUTOSIZE);  

  14.     cvNamedWindow("after",CV_WINDOW_AUTOSIZE);  

  15.     int i =0;  

  16.     int ch;  

  17.     while((image=cvQueryFrame(capture))!=NULL)  

  18.     {  

  19.         cout<<"开始转换"<<i++<<endl;  

  20.         cvShowImage("orign",image);  

  21.         IplImage * image_gray = cvCreateImage(cvGetSize(image),IPL_DEPTH_8U,1);//通道目前还是不太明白  

  22.         image_gray->origin = image->origin;//不加图像,会出现倒转  

  23.         cvCvtColor(image,image_gray,CV_RGB2GRAY);  

  24.         cvShowImage("after",image_gray);  

  25.         ch = cvWaitKey(33);//不加上等待时间无法正确显示数据  

  26.         if(ch==27)  

  27.             break;  

  28.     }  

  29.     cvDestroyWindow("orign");  

  30.     cvDestroyWindow("after");  

  31.     return 0;