Qt5::QCamera查询和设置摄像头的分辨率和帧率 您所在的位置:网站首页 摄像头参数调整 Qt5::QCamera查询和设置摄像头的分辨率和帧率

Qt5::QCamera查询和设置摄像头的分辨率和帧率

#Qt5::QCamera查询和设置摄像头的分辨率和帧率| 来源: 网络整理| 查看: 265

查询摄像头支持分辨率的API

QCamera::supportedViewfinderResolutions()

查询摄像头支持帧率的API

QCamera::supportedViewfinderFrameRateRanges()

设置摄像头采集分辨率和帧率的API

void setViewfinderSettings(const QCameraViewfinderSettings &settings);

这个API可以设置摄像头帧率、比例、分辨率、格式的类

使用注意事项 查询和设置摄像头分辨率时,需要在摄像头启动后调用;即在调用QCamera::start()后, 在调用setViewfinderSettings才生效。

但是摄像头支持的分辨率、帧率、采样格式和比例之间是有相关联的;实际上摄像头每个分辨率都有其对应的帧率和格式;并不是单一性的。比如我的摄像头支持如下

分辨率: QSize(160, 120); QSize(176, 144);QSize(320, 240);QSize(352, 288);QSize(640, 480);QSize(1280, 720) 帧率: max rate = 5 min rate = 5 max rate = 10 min rate = 10 max rate = 15 min rate = 15 max rate = 30 min rate = 30

如果我设置分辨率为1280*720,帧率为30,则采集失败;

可以调用下面API查询其对应关系

QList supportedViewfinderSettings

代码如下

#include "widget.h" #include "ui_widget.h" Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); camera=new QCamera(0);//摄像头 viewfinder=new QCameraViewfinder(this);//取景器 QObject::connect(camera, SIGNAL(imageCaptured(int,QImage)), this, SLOT(displayImage(int,QImage))); camera->setCaptureMode(QCamera::CaptureStillImage); camera->setViewfinder(viewfinder); camera->start(); //启动摄像头 //获取摄像头支持的分辨率、帧率等参数 QList ViewSets = camera->supportedViewfinderSettings(); int i = 0; qDebug()


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有