首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在QT5.3中使用QCamera设置图像分辨率?

如何在QT5.3中使用QCamera设置图像分辨率?
EN

Stack Overflow用户
提问于 2016-04-18 21:30:04
回答 1查看 2.6K关注 0票数 1

我正在开发Qt Qcamera来捕捉图像,在Windows平板电脑上。我编写了这个小代码来检查QCamera的功能,但是在捕获图像之后,保存的图像具有很低的分辨率,即640*360,尽管表面pro的后摄像头支持1280*720。即使支持解决方案的QList也总是返回空的。我到处找,但找不到可能的解决办法,有人能帮忙吗?

下面是我使用的代码:

代码语言:javascript
复制
#include "camera.h"
#include <QCamera>
#include <QCameraImageCapture>
#include <QCameraViewfinder>
#include <QDebug>
#include<QMultimedia>

Camera::Camera(QWidget *parent) :
    QWidget(parent)
{

    QByteArray cameraDevice;
    int count = QCamera::availableDevices().count();

    int cameraId = 1;


    QList<QByteArray> cameradev = QCamera::availableDevices();
    QByteArray camdevice = cameradev[cameraId];

    QCamera *camera = new QCamera(camdevice);

    QString description = camera->deviceDescription(camdevice);
    qDebug() <<"Device Name"<< description;

    QCameraViewfinder *viewfinder = new QCameraViewfinder();
    viewfinder->showMaximized();
    camera->setViewfinder(viewfinder);
    QCameraImageCapture *imageCapture = new QCameraImageCapture(camera);
    //camera->setCaptureMode(QCamera::CaptureStillImage);
    camera->start();
    QList<QSize> resolutions = imageCapture->supportedResolutions();//returns       always empty
    QImageEncoderSettings imageSettings;
    imageSettings.setCodec("image/jpeg");
    imageSettings.setResolution(1280, 720);
    imageCapture->setEncodingSettings(imageSettings);
    imageCapture->capture("D:/1.jpg");
    camera->searchAndLock();
    camera->unlock();
    qDebug() << camera->error();    
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-25 14:06:53

这个问题似乎是Qt版本的问题,这个问题在QT5.5版本和更高版本中得到了解决,并且有可能获得相机的所有支持分辨率。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36704647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档