摄像头参数查看与调节 分类: C/C++ OpenCV 2014-11-08 18:13 138人阅读 评论(0) 收藏

cvGetCaptureProperty

获得视频获取结构的属性

double cvGetCaptureProperty( CvCapture* capture, int property_id );
capture
视频获取结构。
property_id
属性标识。可以是下面之一:
CV_CAP_PROP_POS_MSEC - 影片目前位置,为毫秒数或者视频获取时间戳
CV_CAP_PROP_POS_FRAMES - 将被下一步解压/获取的帧索引,以0为起点
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的四个字符 CV_CAP_PROP_FRAME_COUNT - 视频文件中帧的总数

函数cvGetCaptureProperty获得摄像头或者视频文件的指定属性。

译者注:有时候这个函数在cvQueryFrame被调用一次后,再调用cvGetCaptureProperty才会返回正确的数值。



cvSetCaptureProperty

设置视频获取属性

int 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


windows下可用:OpenCV2.3.1 + vs2012,ubuntu下无法使用:vim + OpenCV2.3.4。

 
The solution is to use the newer libv4l-based wrapper.
1. install libv4l-dev (this is how it's called in Ubuntu)
2. rerun cmake, you will see "V4L/V4L2: Using libv4l"
3. rerun make. now the resolution can be changed. tested with built-in isight on MBP.
 
下载并安装v4l (video for linux).
下载v4l-utils-0.8.5.tar.bz2 from http://www.linuxtv.org/downloads/v4l-utils/
Build v4l :
make
sudo make install

or
#install v4l
$ sudo apt-cache search v4l
$ sudo apt-get install libv4l-dev

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2014-11-08 18:13  PaulWeiHan  阅读(419)  评论(0编辑  收藏  举报