只有在演示应用程序打开了采集器后,才能通过 OpenCV 读取模拟帧采集器的图像,否则会产生黑色图像。以下调试代码
qDebug() << "Brightness" << cap->get(CV_CAP_PROP_BRIGHTNESS);
qDebug() << "Contrast " << cap->get(CV_CAP_PROP_CONTRAST);
qDebug() << "Saturation" << cap->get(CV_CAP_PROP_SATURATION);
qDebug() << "Hue " << cap->get(CV_CAP_PROP_HUE);
qDebug() << "Gain " << cap->get(CV_CAP_PROP_GAIN);
qDebug() << "Exposure " << cap->get(CV_CAP_PROP_EXPOSURE);
qDebug() << "Width " << cap->get(CV_CAP_PROP_FRAME_WIDTH);
qDebug() << "Height " << cap->get(CV_CAP_PROP_FRAME_HEIGHT);
输出
Brightness 5000
Contrast 5000
Saturation 4000
Hue 5000
Gain -8.58993e+08
Exposure -1
Width 720
Height 576
当然这些设置看起来有缺陷,但是在抓取器的演示应用程序访问后成功打开设备时,它们是相同的。
我想这是一个驱动程序问题,其中需要 OpenCV 无法访问的某些设备设置,包括无效的标准设置(增益、曝光)。可以使用哪些较低级别的方法来查找/编写这些设置?