2013-04-07 103 views
0

我使用OpenCV抓取視頻幀並將它們轉換爲QPixmaps,並在QLabel上顯示。直到那時,它纔像一個視頻播放器。QT如何在連續刷新的QPixmap上繪製形狀

問題是,我想通過視頻製作一些圖紙。我嘗試了幾種方法,但無法使其工作。

第一種方法:

將視頻播放器的形式。在播放器上放置一個空的小部件,並在空的小部件的paintEvent()方法中繪製一些圖形。不工作。

第二種方法:

把一個空的控件在視頻播放器,如第一種方法,但使圖在QPixmap就和QPixmap的設置爲一個QLabel,然後顯示QLabel。不工作。

我可以看到我只畫了一會兒的形狀。可能無論何時玩家接收到新幀,它都會調用update()方法並覆蓋我的形狀。

第三種方法:

考慮繪製我的形狀通過視頻幀。但是用這種方法,我必須重複繪製它,就像每秒20次。因爲我的繪圖程序很重,所以這種方法看起來並不漂亮。

那麼,通過連續刷新的QPixmap系列在視頻上繪製圖像的最佳方式是什麼?

回答

1

當我在過去完成這項工作時,我將像素圖放入QGraphicsScene中,並將圖形放入QGraphicsScene中。對圖層進行分層和排序非常直接,重用圖形或轉換舊圖形是一塊蛋糕。

希望有所幫助。