QT+OpenCV进行图像采集最小时延可以达到20ms

    获得“算法高性能”项目的支持,目前成功地在Win10上运行WB2,感受目前的代码速度慢、响应慢、CPU占用比例高。这种状况下3399上可以运行,说明这个平台已是很强的了。下一步,首先在Windows上优化代码、在提升3399上运行效率。linux

1、各类状况下采集的比较
Dshow(175)
GOMfcTemplate(158)
qcamera采集速度很是快(26),目视比Dshow还快!可是存在的问题是没法融入OpenCV。
可是在linux上速度就很通常的,也多是和虚拟机有关系
 
wb目前采用的是videocapture单线程,应该说是体验最差的。
 
GOQTTemplate3采用的是videocapture+多线程,时延仍然比较大(609ms)
 
 
 
mipicamera(rk3399自带)
因为在摄像头打开的地方,过分依赖Linux,没法在windows平台上打开。
结果在linux平台上面也是没法打开,证实这种摄像头搜索的方法不优秀。
而且从代码分析,它使用的也是VideoCapture+单线程。
 
 
讲道理地说,VideoCapture是不行的,毕竟是一个实验的架构。这个一样一个摄像头,在使用起来的时候就可以感受到videocapture有1s左右的时延,不知足实时的需求。
并且我这个摄像头是高速头,不知道是否是videocapture的fps设置不上去。
 
 
2、尝试QCamera的融入方法
 
这个26ms太棒了,并且是1080*1024的分辨率,这个值可让我放弃DShow。可是全部的前提是必须能够融合OpenCV使用,而且最好在Linux上也可以到达这个水平。(21.5ms!)
 
实现参考文章
 
 
 
很是好的值,马上用成果修改GOQTTemplate3,具体的方法
一、添加 cameraframegrabber.h、cameraframegrabber.cpp
二、添加.h到头文件
添加变量、SLOT
添加动做和slot
三、获得结果
很是好,21.7ms
 
可是加上算法后,PC上也要跑到1.4s,并且报错。这就必需要优化算法了。
 
小结:只要可以使用QCamera,就使用QCamera.
 





附件列表

相关文章
相关标签/搜索