QCamera设置分辨率后相机无图像输入问题

本文探讨了在使用QCamera进行分辨率设置时遇到的无图像输入问题。通常,设置分辨率应在启动相机之后进行,但作者发现在某些情况下,这会导致相机停止工作。通过深入研究QT文档,发现可以先调用load方法更改相机默认设置,而不是立即start。按照此方法调整代码后,问题得到解决。
摘要由CSDN通过智能技术生成

根据网上能查到的信息,QCamera查询和设置摄像头分辨率操作需要在摄像头启动之后,即

m_camera->start();
QCameraViewfinderSettings viewfinderSetting = m_camera->viewfinderSettings();
viewfinderSetting.setResolution(QSize(640,480));//当然这里的size应该是相机支持的

但是我在调试自己程序的时候却发现有的情况下这样设置会导致相机没有图像任何输入,进一步调试camera状态发现是setResolution后相机停掉了(具体原因不明)

于是进一步查阅qt文档有了新的发现,QCamera除了start还有load操作,load一般无需手动调用,除非是需要更改摄像头默认设置

于是这便柳暗花明了,按照官方文档,查询和更改相机设置应该是在load之后,并非必须start,所以将代码修改如下 

m_camera->load();
QCameraViewfinderSettings viewfinderSetting = m_camera->viewfinderSettings();
viewfinderSetting.setResolution(QSize(640,480));//当然这里的size应该是相机支持的
m_camera->start();

 问题就能解决。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值