Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save MarcWang/66bc73676f88d5fc1b5f to your computer and use it in GitHub Desktop.
Save MarcWang/66bc73676f88d5fc1b5f to your computer and use it in GitHub Desktop.

Set or Get Property from Camera using OpenCV

欲想對視訊操作解析度、白平衡、FPS等可透過VideoCapture.set()實現。

參數

  • CV_CAP_PROP_POS_MSEC 影片播放毫秒
  • CV_CAP_PROP_POS_FRAMES 影片播放幀數
  • CV_CAP_PROP_POS_AVI_RATIO 影片播放百分比
  • CV_CAP_PROP_FRAME_WIDTH 影像解析度(寬)
  • CV_CAP_PROP_FRAME_HEIGHT 影像解析度(高)
  • CV_CAP_PROP_FPS 每秒輸出幀數
  • CV_CAP_PROP_FOURCC 壓縮4碼
  • CV_CAP_PROP_FRAME_COUNT 影片總幀數
  • CV_CAP_PROP_FORMAT Format of the Mat objects returned by retrieve() .
  • CV_CAP_PROP_MODE Backend-specific value indicating the current capture mode.
  • CV_CAP_PROP_BRIGHTNESS 影像亮度
  • CV_CAP_PROP_CONTRAST 影像對比度
  • CV_CAP_PROP_SATURATION 影像飽和度
  • CV_CAP_PROP_HUE 影像色度
  • CV_CAP_PROP_GAIN 影像增益
  • CV_CAP_PROP_EXPOSURE 影像曝光度
  • CV_CAP_PROP_CONVERT_RGB 影像是否被轉成RGB格式
  • CV_CAP_PROP_WHITE_BALANCE 目前不支援白平衡
  • CV_CAP_PROP_RECTIFICATION stereo cameras

範例環境:

  • Qt Creator
  • Windows 7
  • MinGW 4.8.2
  • OpenCV 2.4.8
#include < iostream >
#include < opencv2 / opencv.hpp >

using namespace std;
int main() {
    cv::VideoCapture camera;
    cv::Mat srcImg;
    camera.open(1);
    // 設定0為預設視訊裝置,1~N以上表示第N個視訊裝置
    if (!camera.isOpened()) {
        return 0;
    }
    camera.set(CV_CAP_PROP_EXPOSURE, -8);
    std::cout << "Exposure : " << camera.get(CV_CAP_PROP_EXPOSURE) << std::endl;
    for (;;)
    {
        camera >> srcImg;
        cv::imshow("Show Windows", srcImg);
        cv::waitKey(30);
    }
    return 0;
}

更多OpenCV文章請參考:OpenCV Tutorial (學習筆記)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment