【发布时间】:2010-11-17 12:57:13
【问题描述】:
将图像显示到 Qt 小部件的最快方法是什么?我已经使用 libavformat 和 libavcodec 解码了视频,所以我已经有了原始 RGB 或 YCbCr 4:2:0 帧。我目前正在使用 QGraphicsView 和包含 QGraphicsPixmapItem 的 QGraphicsScene 对象。我目前正在使用内存缓冲区中的 QImage 构造函数将帧数据放入 QPixmap 并使用 QPixmap::fromImage() 将其转换为 QPixmap。
我喜欢这样的结果,而且似乎比较快,但我不禁认为一定有更有效的方法。我还听说 QImage 到 QPixmap 的转换很昂贵。我已经实现了一个在小部件上使用 SDL 覆盖的解决方案,但我想只使用 Qt,因为我能够使用 QGraphicsView 轻松捕获点击和其他用户与视频显示的交互。
我正在使用 libswscale 进行任何所需的视频缩放或色彩空间转换,因此我想知道是否有人在执行所有处理后有更有效的方式来显示图像数据。
谢谢。
【问题讨论】:
标签: c++ qt image-processing