OpenCV笔记之一:将RGB视频转换为灰度输出并在窗口显示
2014-04-04 10:53
441 查看
#include "highgui.h" #include "cv.h" int main(int argc, char** argv) { CvCapture* capture = NULL; IplImage* bgr_frame = NULL; capture = cvCreateFileCapture( "viplanedeparture.avi" );//初始化CvCapture结构。 if ( !capture ) { return -1; } cvNamedWindow("Original",CV_WINDOW_AUTOSIZE); cvNamedWindow("RGB2GRAY",CV_WINDOW_AUTOSIZE); bgr_frame = cvQueryFrame(capture);// 提取视频流帧 double fps = cvGetCaptureProperty( capture, CV_CAP_PROP_FPS ); CvSize size = cvSize( ( int ) cvGetCaptureProperty( capture, CV_CAP_PROP_FRAME_WIDTH ), ( int ) cvGetCaptureProperty( capture, CV_CAP_PROP_FRAME_HEIGHT ) ); /* 用cvCreateVideoWriter创建写AVI文件的容器时,当它的第二个参数是-1时,弹出对话框, 选择压缩编码方式,然后写avi视频正确,并且能打开。 CV_FOURCC('P','I','M','1') = MPEG-1 codec CV_FOURCC('M','J','P','G') = motion-jpeg codec (does not work well) CV_FOURCC('M', 'P', '4', '2') = MPEG-4.2 codec CV_FOURCC('D', 'I', 'V', '3') = MPEG-4.3 codec CV_FOURCC('D', 'I', 'V', 'X') = MPEG-4 codec 失败 CV_FOURCC('X', 'V', 'I', 'D') = MPEG-4 codec 成功 CV_FOURCC('U', '2', '6', '3') = H263 codec CV_FOURCC('I', '2', '6', '3') = H263I codec CV_FOURCC('F', 'L', 'V', '1') = FLV1 codec */ //设定尺寸和图像数据精度以及每个像素的通道数 IplImage* gray_frame = cvCreateImage( size, IPL_DEPTH_8U, 1); while( (bgr_frame = cvQueryFrame( capture )) != NULL ) { cvShowImage("Original", bgr_frame ); cvCvtColor( bgr_frame, gray_frame, CV_BGR2GRAY ); gray_frame->origin=1;//视频与原视频方向一致,图像原点位置: 0表示顶-左结构,1表示底-左结构 cvShowImage("RGB2GRAY", gray_frame); char c=cvWaitKey(33); //自动刷新 if(c==27) break; //响应键盘按键 } //销毁窗口 cvDestroyWindow("Original");
cvDestroyWindow("RGB2GRAY"); cvDestroyAllWindows(); //释放图像 cvReleaseImage( &gray_frame ); cvReleaseCapture(&capture); return 0; }
相关文章推荐
- DVI 视频接口图文解析
- VC++中的字体设置方法详解
- JavaScript 十六进制RGB色码转换器
- 解析VC中预编译头文件的深入分析
- RGB 加成色 说明
- 显示youtube视频缩略图和Vimeo视频缩略图代码分享
- php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
- VC WinExec打开指定程序或者文件的方法
- opencv 做人脸识别 opencv 人脸匹配分析
- VC++开发中完美解决头文件相互包含问题的方法解析
- 浅析VC++中的头文件包含问题
- 基于VC编写COM连接点事件的分析介绍
- VC对自定义资源加密解密(AES)的详解
- Android获取SD卡上图片和视频缩略图的小例子
- OpenCV 2.4.3 C++ 平滑处理分析
- C++\VC开发视频教程推荐
- cisco等资料下载
- java视频
- (电驴或迅雷5.8下载)Oracle数据库的安装视频
- 游戏视频合成压缩工具