标题:QT视频监控移植到I.MX6平台CPU占用率过高的问题
作者:kevin_wang
日期:2015-07-22 20:34
内容:
最近在做一个视频监控的项目,采用QT编程,移植到ARM板发现CPU占用率高达50%而且图像延时挺严重,测试的摄像头格式为YUYV,软件编码转换为RGB格式,paintEvent函数代码如下:
rs = vd->get_frame(&yuv_buffer_pointer,&len);
convert_yuv_to_rgb_buffer();
frame->loadFromData(rgb_buffer,640 * 480 * 3);
ui->label->setPixmap(QPixmap::fromImage(*frame,Qt::AutoColor));
rs=vd->unget_frame();
其中一部分原因是软件进行格式转换,那么另一部分原因会不会是setPixmap这个函数效率太低呢?各位大侠支支招,是否有其他更好的方法,格式转换这部分可以忽略,因为以后使用的摄像头数据格式不是YUYV,而是RGB888,,谢谢了!!!!
#1 [firebolt 07-24 13:17]
显示部分效率太低,用QOffscreenSurface吧。
#2 [漂泊的孩子6 08-07 11:12]
请问楼主解pwgy决这个问题了吗?我也遇到了同样的问题。
#3 [riven 10-15 17:14]
imx6的ipu、vpu都可以YUV转RGB ,效率要比paintevent高, 但也有延迟,不过人眼睛看不出来, 延迟主要是在控件上绘制时较慢。