Qt5::QCamera查询和设置摄像头的分辨率和帧率 | 您所在的位置:网站首页 › 摄像头参数调整 › Qt5::QCamera查询和设置摄像头的分辨率和帧率 |
查询摄像头支持分辨率的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 实验室设备网 版权所有 |