我使用opencv相机支持在Qt中捕获图像,因为Qt5.2现在有QCamera和QCameraImageCapture,我正在移植它,并且代码简化了很多。
但拍摄的图像太暗,而QCameraViewfinder曝光的帧具有正确的亮度。唉,QWidget :: grab()在QCameraViewfinder上不起作用。
此外,相机演示代码的行为方式相同(更改“曝光补偿”对拍摄的图像没有任何影响。)
有关此问题的任何暗示?我正在使用USB WebCam处理Ubuntu 64位。
答案 0 :(得分:0)
从查看器中提取图像的Qt方式似乎是使用基于QCameraXXX
的{{1}}类中的另一个...
这显示了从相机中提取信息的示例。
https://qt-project.org/doc/qt-5.1/qtmultimedia/qcameraimagecapture.html#details
QMediaBindableInterface
然后,为了处理捕获图像,您可以连接到camera = new QCamera;
viewfinder = new QCameraViewfinder();
viewfinder->show();
camera->setViewfinder(viewfinder);
imageCapture = new QCameraImageCapture(camera);
camera->setCaptureMode(QCamera::CaptureStillImage);
camera->start();
//on half pressed shutter button
camera->searchAndLock();
//on shutter button pressed
imageCapture->capture();
//on shutter button released
camera->unlock();
信号,并且可以使用imageCaptured
。
https://qt-project.org/doc/qt-5.1/qtmultimedia/qcameraimagecapture.html#imageCaptured
希望有所帮助。