在Qt中显示uyvy数据

时间:2014-09-10 13:19:03

标签: qt rgb v4l2

我输入源为DVD播放器,视频格式为UYVY。我想开发一个Qt应用程序,它将UYVY数据作为输入并显示视频帧。我在Qt中使用v4l2 Linux命令进行捕获,使用Qt小部件显示视频帧。我猜Qt QImage类不接受UYVY格式,它只接受RGB。那么如何将我的数据转换为RGB?有没有其他方法?感谢..

1 个答案:

答案 0 :(得分:0)

我刚发现QVideoFrame支持UYVY http://doc.qt.io/qt-5/qvideoframe.html也许有一些方法可以使用QVideoFrame转换为QImage :: imageFormatFromPixelFormat

QVideoFrame cloneFrame(frame);  
cloneFrame.map(QAbstractVideoBuffer::ReadOnly);   
const QImage img(cloneFrame.bits(),   
                 cloneFrame.width(),   
                 cloneFrame.height(),  
                 QVideoFrame::imageFormatFromPixelFormat(cloneFrame .pixelFormat()));
...