QCamera获得分辨率和原始帧

时间:2018-02-21 16:14:10

标签: c++ qt qcamera

我想获得所选摄像机的分辨率并获得视频捕捉中的原始帧,但我还没有找到明确的方法。你可以帮帮我吗!?提前谢谢。

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

感谢。

1 个答案:

答案 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();
}