概述
下面为Opencv源代码的结构cvSetCapturePropertyint cvSetCaptureProperty( CvCapture* capture, int property_id, double value ); capture 视频获取结构。 property_id 属性标识符。可以是下面之一: CV_CAP_PROP_POS_MSEC - 从文件开始的位置,单位为毫秒 CV_CAP_PROP_POS_FRAMES - 单位为帧数的位置(只对视频文件有效) CV_CAP_PROP_POS_AVI_RATIO - 视频文件的相对位置(0 - 影片的开始,1 - 影片的结尾) CV_CAP_PROP_FRAME_WIDTH - 视频流的帧宽度(只对摄像头有效) CV_CAP_PROP_FRAME_HEIGHT - 视频流的帧高度(只对摄像头有效) CV_CAP_PROP_FPS - 帧率(只对摄像头有效) CV_CAP_PROP_FOURCC - 表示codec的四个字符(只对摄像头有效) value 属性的值。 函数 cvSetCaptureProperty设置指定视频获取的属性。目前这个函数对视频文件只支持: CV_CAP_PROP_POS_MSEC, CV_CAP_PROP_POS_FRAMES, CV_CAP_PROP_POS_AVI_RATIO 但我尝试着这样子设定摄像头Capture的参数 cvSetCaptureProperty(pCapture, CV_CAP_PROP_FPS, 30); cvSetCaptureProperty(pCapture, CV_CAP_PROP_FRAME_WIDTH, 220); cvSetCaptureProperty(pCapture, CV_CAP_PROP_FRAME_HEIGHT, 150); 显示不出效果,不符合我的窗口设置要求。 google到一篇文章 如下: Opencv是提供了一系列的摄像头设置函数的,但是没有提供相应的实现,使用的话,需要如下设置: 1 把下面几个定义添加到 highgui.h中 #define CV_CAP_PROP_DIALOG_DISPLAY 8 2 把页面中的函数static int icvSetPropertyCAM_VFW( CvCaptureCAM_VFW* capture, intproperty_id, double value ) 3 用下面的函数代替cvcap_vfw.cpp中的同名函数 static CvCaptureVTable captureCAM_VFW_vtable = 4 编译highgui即可 注:编译时要在build中的倒数第三项设定中,分别选择highgui—win32 Debug, highgui-win32 Release 分别进行编译。将编译好的DLL文件拷贝到对应的目录就可以了。 用的时候调用函数 cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH_HEIGHT, 1280720 )即可实现1280*720的分辨率,当然前提是你的摄像头要支持这个分辨率才行。 补充,需要的函数: static int icvSetPropertyCAM_VFW( CvCaptureCAM_VFW* capture, int switch( property_id ) return result; 原文地址:http://blog.163.com/f_rock/blog/static/19479613120123277591675/ |
最后
以上就是开心中心为你收集整理的opencv的视频分辨率设定下面为Opencv源代码的结构cvSetCaptureProperty的全部内容,希望文章能够帮你解决opencv的视频分辨率设定下面为Opencv源代码的结构cvSetCaptureProperty所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复