完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
ESM6802是英创公司推出的基于Freescale i.MX6DL双核处理器(ARM Cortex-A9,主频1GHz)的高性能工控主板,已经移植了Linux 4.1.15版本以及Qt 5.8版本。使用Qt的multimedia模块可以方便快捷的进行摄像头应用的开发,本文使用Qt源码中提供的camera例程进行展示,例程代码可从Qt源码中获取或者向我们工程师索要。 我们使用的摄像头是Logitech C310 USB摄像头,ESM6802的Linux系统能够自动识别,正常使用,更多摄像头将在后续进行测试。camera程序运行效果见下图: 在程序中需要首先检查摄像头设备是否可用,示例代码如下: bool checkCameraAvailability() { if (QCameraInfo::availableCameras().count() > 0) return true; else return false; } 或者下qml文件中使用如下语句: Item { property bool isCameraAvailable: QtMultimedia.availableCameras.length > 0 } 之后选择一个摄像头: c++代码: QList foreach (const QCameraInfo &cameraInfo, cameras) { if (cameraInfo.deviceName() == "mycamera") camera = new QCamera(cameraInfo); } qml代码: Camera { deviceId: QtMultimedia.availableCameras[0].deviceId } 显示摄像头捕捉的画面: c++代码: camera = new QCamera; viewfinder = new QCameraViewfinder; camera->setViewfinder(viewfinder); viewfinder->show();
camera->start(); // to start the viewfinder qml代码: VideoOutput { source: camera
Camera { id: camera // You can adjust various settings in here } } qtmultimedia模块也引出了API函数来捕获并保存单个画面或者录制一个视频,以及调整摄像头的参数,如曝光等。用户可以自行查阅Qt编程的帮助手册及相关资料进行了解,我们在后续也将提供相应的例程进行展示。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 14:26 , Processed in 0.570180 second(s), Total 54, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号