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