gpt4 book ai didi

c++ - 如何在 Qt 5.3 中使用 QCamera 设置图像分辨率?

转载 作者:行者123 更新时间:2023-11-28 05:43:20 24 4
gpt4 key购买 nike

我正在使用 Qt Qcamera 在 Windows Surface Pro 平板电脑上捕获图像。我写了这段小代码来检查 QCamera 功能,但是在捕获图像后,保存的图像分辨率非常低,即 640*360,即使 Surface Pro 的后置摄像头支持 1280*720。即使支持分辨率的 QList 也总是返回空。我到处寻找但找不到可能的解决方案,有人可以帮忙吗?

这是我使用的代码:

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

最佳答案

看来问题出在 Qt 版本上,这个问题在 Qt 5.5 及以上版本中已修复,并且可以获取相机的所有支持分辨率。

关于c++ - 如何在 Qt 5.3 中使用 QCamera 设置图像分辨率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36704647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com