免驱相机参数调节以及多种问题解决方案

​1.opencv调节相机参数

capture.set(CAP_PROP_AUTO_EXPOSURE, 1);  //这里设置为1才能调整曝光

capture.set(CAP_PROP_BRIGHTNESS, 0); //亮度

capture.set(CAP_PROP_FRAME_WIDTH, 1280);

capture.set(CAP_PROP_FRAME_HEIGHT, 720);

capture.set(CAP_PROP_EXPOSURE, 0);//曝光

 

2.画面呈果冻状(失帧)

1.线有问题

2.电脑口有问题

3.相机设置不对

前两种使用v4l2进行检查,如图:

编辑

 

 

如果帧率没问题

则:

VideoWriter vw;
int fourcc = vw.fourcc('M', 'J', 'P', 'G'); //设置摄像头编码方式
capture.set(CAP_PROP_FOURCC, fourcc);

原因是:用videocapture获取数据时默认情况下会以数据流的原始数据格式读入,当目前接入默认以YUYV格式编码的摄像头时,同样方式导入数据时,则帧率就会很低。对此我们可以通过改变读取摄像头格式的方法来提高数据传输速度,虽然会损失一点图像质量,但并不很影响。

 

3.免驱相机画面在光附近出现光晕:

1.擦拭镜头

2.调节合理的相机参数抑制

 

4.标定好的相机参数赋值问题:

举个例子:

cv::Mat cam = (cv::Mat_<double>(3, 3) << 5.1413482510598203e+02, 0., 6.5338317730207848e+02, 0.,
5.1451236692368548e+02, 3.9390298159050002e+02, 0., 0., 1.);
cv::Mat dis = (cv::Mat_<double>(4, 1) << 3.1910200097062152e-01, 1.9528971940819218e-01,-3.1002062794832780e-01, 2.2718917443659598e-01);

焦距改变,更换相机,镜头,记得标定!

posted @ 2022-07-13 21:59  ∮坦荡dS  阅读(363)  评论(0)    收藏  举报