2013-04-07 104 views
0

我使用OpenCV抓取视频帧并将它们转换为QPixmaps,并在QLabel上显示。直到那时,它才像一个视频播放器。QT如何在连续刷新的QPixmap上绘制形状

问题是,我想通过视频制作一些图纸。我尝试了几种方法,但无法使其工作。

第一种方法:

将视频播放器的形式。在播放器上放置一个空的小部件,并在空的小部件的paintEvent()方法中绘制一些图形。不工作。

第二种方法:

把一个空的控件在视频播放器,如第一种方法,但使图在QPixmap就和QPixmap的设置为一个QLabel,然后显示QLabel。不工作。

我可以看到我只画了一会儿的形状。可能无论何时玩家接收到新帧,它都会调用update()方法并覆盖我的形状。

第三种方法:

考虑绘制我的形状通过视频帧。但是用这种方法,我必须重复绘制它,就像每秒20次。因为我的绘图程序很重,所以这种方法看起来并不漂亮。

那么,通过连续刷新的QPixmap系列在视频上绘制图像的最佳方式是什么?

回答

1

当我在过去完成这项工作时,我将像素图放入QGraphicsScene中,并将图形放入QGraphicsScene中。对图层进行分层和排序非常直接,重用图形或转换旧图形是一块蛋糕。

希望有所帮助。