【问题标题】:QCamera get resolution and raw frameQCamera 获取分辨率和原始帧
【发布时间】:2018-08-01 07:22:21
【问题描述】:

我想获得所选相机的分辨率,也想获得视频捕捉中的原始帧,但我完全没有找到清楚的方法。你可以帮帮我吗!?提前致谢。

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

谢谢。

【问题讨论】:

  • 研究这将有助于doc.qt.io/qt-5.10/…
  • 哦,谢谢!我之前正在阅读它,但我还没有找到如何获得“默认”相机的“默认”分辨率。但我会更深入地掠夺。

标签: c++ qt qcamera


【解决方案1】:

我认为你 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();
}

【讨论】:

  • 非常感谢。我想我错过了 load() 方法。 :)
  • 您好!很抱歉现在仍然回答。它没有用,但我认为这是由于其他原因。我遇到了这个错误(我从其他帖子中复制了错误),但是像这样:forum.qt.io/topic/78433/qt-multimeia-gstreamer-critical-error/2 但我不知道这是与 opencv 相机冲突还是我的操作系统出现问题。因为我已经安装了所有 gstreamer 插件......明天我将继续那个项目。无论如何,非常感谢。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多