攝像頭參數查看與調節 分類: C/C++ OpenCV 2014-11-08 18:13 138人閱讀 評論(0) 收藏

cvGetCaptureProperty
linux

得到視頻獲取結構的屬性ubuntu

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得到攝像頭或者視頻文件的指定屬性。vim

譯者注:有時候這個函數在cvQueryFrame被調用一次後,再調用cvGetCaptureProperty纔會返回正確的數值。windows



cvSetCaptureProperty

設置視頻獲取屬性app

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

版權聲明:本文爲博主原創文章,未經博主容許不得轉載。ide

相關文章
相關標籤/搜索