Qt+arm处理多路camera以及显示

博客介绍了Qt采集摄像头视频并显示在LCD的三种方案,包括qt-widget v4l2、qt-widget Qcamera、qml-qquick。从功能性、CPU资源占用、可扩展性方面进行对比,分析各方案优缺点,最后给出本方案,还提供了源码链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

qt采集摄像头视频并显示LCD的方案,基本如下3种:

1、qt-widget v4l2:

       v4l2接口直接获取camera的qbuf,在timer中获取一帧数据后,添加上bmp头信息,然后通过imageWidget->setPixmap()来显示每帧图像;

2、qt-widget Qcamera:

       qt使用qcamera空间,new QCameraViewfinder 用于LCD显示,new QCameraImageCapture 用于camera获取,SIGNAL(capture, viewfinder)用于获取camera后通知viewfinder显示。

3、qml-qquick:

      camera数据经过gstreamer1.0处理,经过gstreamer1.0-plugin插件:qmlglsink,送到qml-videoItem来显示。

【方案对比】

       1、功能性:

             如果只是简单显示camera,不用做图像处理(加上图像处理算法)或者视频叠加(融合),不用考虑系统性能,则以上3种方式均可实现功能;

       2、CPU资源占用:

             CPU占用率高主要体现在:

             1)、视频格式转换  qt接收视频格式以及qt显示视频格式之间的转换,如果camera数据格式是yuv,直接给qt,qt内部会软转码成rgb格式输出到lcd。

                      软转码非常消耗CPU资源。

             2)、  图像显示频率  |  camera帧率和分辨率

                       camera帧率和分辨率越大,需要处理的数据越多,则cpu占用率越大。

                      图像显示频率越高,则qt的显示刷新率越高,消耗的cpu越大。

       3、可扩展性:

                      可扩展性体现在input camera的更换,视频图像处理算法的更换,以及视频输出设备的更换。

【qt-widget v4l2】

           缺点:1、timer中获取camera每一帧,并加上bmp头信息,再输出显示,架构不好;并且加上了bmp头信息,冗余;

                      2、转码在qt内部进行,以软转码的方式占用cpu非常高;

【qt-widget Qcamera】

           缺点:1、Qcamera完全封装了camera的视频获取,不能进行视频数据处理(图像处理),视频数据格式转换(YUV->RGB)也是qt内部软件实现;

【qml-qquick】

            缺点:需要第三方如gstreamer采集camera得到视频流,通过qt控件qmlglsink来获取视频流;

            优点:1、gstreamer可以实现硬件转码(利用gstreamer-plugin的硬件插件支持);

                       2、gstreamer可以方便实现camera数据处理;

                       3、qt的趋势在qml;

  【本方案】

               1路可见光摄像头,经过gstreamer后YUV420(NV12)->IPU(RGBA)->qmlglsink->qt

               1路红外摄像头,经过gstreamer-appsink(数据处理)->qmlglsink->qt

                qt-quick中GstGLVideoItem来获取qmlglsink的视频流。          

  【源码】

               https://github.com/tttg/qml_demon

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值