获取和设置相机设置

时间:2010-06-25 15:10:56

标签: c++ settings opencv webcam

我一直在搜索,但找不到如何获取和设置相机捕捉设置的示例。例如捕捉分辨率,fps,色彩平衡等。我只看到了保存捕获的视频时如何更改设置的示例,但我希望能够找到所有相机的捕捉模式并选择我想要的模式。例如,我正在使用PS3eye网络摄像头,在测试程序中,它允许您更改设置(320x240 at 15,30,60,120 fps,640x480 at 15,30,60,75 fps)。那么在OpenCV中是否有一个功能来获取所有相机的捕捉模式并选择一个?我记得在OpenFrameworks中有一个更改这些设置的功能,但我想知道如何在OpenCV中执行此操作。

以下是OpenFrameworks与OpenCV的代码,它可以实现我想要的功能:

vidGrabber.setDeviceID( 4 );
vidGrabber.setDesiredFrameRate( 30 ); //I want this
vidGrabber.videoSettings();
vidGrabber.setVerbose(true);
vidGrabber.initGrabber(320,240); //And this

2 个答案:

答案 0 :(得分:1)

cvSetCaptureProperty()

带有这些标志:

CV_CAP_PROP_FRAME_WIDTH  - width of frames in the video stream (only for cameras)
CV_CAP_PROP_FRAME_HEIGHT - height of frames in the video stream (only for cameras)
CV_CAP_PROP_FPS          - frame rate (only for cameras)

答案 1 :(得分:0)

我构建了一个 Directshow 相机库,它能够获取相机分辨率和属性。

https://github.com/kcwongjoe/directshow_camera

fps 通常取决于您的机器、分辨率和曝光时间。要更改fps,您可以在固定分辨率下修改曝光时间。