Qt之显示yuv数据图像
本文对在QT中实时显示yuv数据提供一个解决方案,再次特别非常感谢http://blog.yundiantech.com/中的博文,也是借鉴其中的播放YUV文件的demo实现实时播放yuv视频数据,废话不多说,就直接介绍显示效果最好的方法吧
- qt中利用FFmpeg将yuv转RGB32
- qt中将rbg显示到label上
qt中利用FFmpeg将yuv转RGB32
因为在QT中是无法直接显示yuv数据,所以我们必须把yuv数据转换成RGB32通过QImage来显示到控件中,具体的yuv和rgb的基本介绍就不在此给大家做介绍,需要知道原理的自行百度,如果想自己通过写转换代码来实现,也是可以的,只不过转换出来的效果不是太理想,特别是在纯白的背景时候,会有纯红,纯绿,纯蓝的颜色出现,导致整个颜色的偏差,所以我们直接采用FFmpeg中的yuv转rgb的方法,优化和效率都不错。
extern "C"
{
#include "libavcodec/avcodec.h"
#include