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

时间:2022-09-12 09:11:02

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

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