我想获得所选摄像机的分辨率并获得视频捕捉中的原始帧,但我还没有找到明确的方法。你可以帮帮我吗!?提前谢谢。
// Open camera for reading
cameraQt = new QCamera(cameras.at(cameraIdSelected));
if(!cameraQt->isAvailable())
ui->statusBar->showMessage(tr("Impossible to open camera...."));
cameraQt->setViewfinder(ui->centralWidget);
喜欢:cameraQt->getResolution
?
感谢。
答案 0 :(得分:2)
我认为你1)应该加载凸轮2)从加载的凸轮获取imageCapture(原始)。没有直接简单类型的分辨率,因为相机将支持list
个分辨率,您可以将设备设置为其中之一。
尝试此操作以获取设备的分辨率列表:
QList<QByteArray> cameraDevices = QCamera::availableDevices();
QByteArray cameraDevice = cameraDevices[0];
QCamera *camera = new QCamera(cameraDevice);
camera->load();
qDebug() << "Camera status: " << camera->status();
QCameraImageCapture *imageCapture = new QCameraImageCapture(camera);
QList<QSize> resolutions = imageCapture->supportedResolutions();
QListIterator<QSize> it(resolutions);
while (it.hasNext()) {
qDebug() << "Resoution: " << it.next();
}