ROS系列——关于OpenCV读取和设置网络摄像头参数的问题

ROS系列——关于OpenCV读取和设置网络摄像头参数的问题

  • 说明
  • 1. cv::VideoCapture类的set函数
  • 2. cv::VideoCapture类的get函数

说明

在对网络摄像头通过OpenCV进行操作的过程中,用到了cv::VideoCapture类的get和set方法,发现set方法的设置参数功能很多是不能成功设置的,这里做一个简单记录。如果只是想get到网络摄像头的信息,可以继续阅读下文。

1. cv::VideoCapture类的set函数

可以设置摄像头参数

capture.open(camId);

capture.set(cv::CAP_PROP_FRAME_WIDTH, 1280);//宽度

capture.set(cv::CAP_PROP_FRAME_HEIGHT, 720);//高度

capture.set(cv::CAP_PROP_FPS, 30);//帧率

capture.set(cv::CAP_PROP_BRIGHTNESS, 1);//亮度

capture.set(cv::CAP_PROP_CONTRAST,50);//对比度

capture.set(cv::CAP_PROP_SATURATION, 50);//饱和度

capture.set(cv::CAP_PROP_HUE, 50);//色调

capture.set(cv::CAP_PROP_EXPOSURE, 50);//曝光

2. cv::VideoCapture类的get函数

可以获得摄像头参数

capture.get(cv::CAP_PROP_FRAME_WIDTH);

capture.get(cv::CAP_PROP_FRAME_HEIGHT);

capture.get(cv::CAP_PROP_FPS);

capture.get(cv::CAP_PROP_BRIGHTNESS);

capture.get(cv::CAP_PROP_CONTRAST);

capture.get(cv::CAP_PROP_SATURATION);

capture.get(cv::CAP_PROP_HUE);

capture.get(cv::CAP_PROP_EXPOSURE);

capture.get(cv::CAP_PROP_FRAME_COUNT);
#在测试过程中,发现set函数有很多设置不成功,所以上述方法对于我的网络摄像头不可行
注:该篇文章只是单纯记录本人测试中的现象,不代表其它摄像头也无法使用set设置参数!

你可能感兴趣的:(OpenCV,opencv,计算机视觉)