1

我想获得所选相机的分辨率,并在视频捕捉中获得原始帧,但我还没有清楚地找到如何去做。你可以帮帮我吗!?提前致谢。

    // 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

谢谢。

4

1 回答 1

2

我想你 1) 应该加载 cam 2) 从加载的 cam 中获取 imageCapture (raw)。没有直接简单的分辨率类型,因为相机将具有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();
}
于 2018-02-21T17:44:50.063 回答