簡體   English   中英

使用wxWidgets繪制視頻流

[英]Drawing a videostream using wxWidgets

我有一個相對簡單的應用程序,目前利用OpenCV使用cv::VideoCapture從攝像頭抓取圖像,並使用在OS X El Capitan上運行的imshow()在窗口中查看生成的圖像。

在我之間進行一些基本的圖像修改,但這對我的問題並不重要。

由於OpenCV實現的GUI非常基本,我決定使用wxWidgets重做它。 我得到它基本上運行類似於wxWidgets教程部分中鏈接的實現。 (將它更新為C ++ 11等,但這個想法幾乎完全相同。代碼位於github上 。)

現在是我的問題:在最好的情況下,我獲得了一半的幀率,因為我得到了OpenCV唯一的解決方案。 OpenCV使用下面的qt。 但是當我查看堆棧跟蹤時,它會歸結為使用CoreGraphics的類似函數調用。

所以我的問題歸結為:在OS X上使用wxWidgets將幀圖像繪制到幀速率> 20fps的最佳方法是什么? 目前我使用DrawBitmap()函數。

額外的問題:當我在Macbook內部的Retina屏幕上顯示窗口時,幀率變得更糟。 是否可以對圖片進行任何預處理/縮放以從GUI過程中取消負載?

最快的可能就是使用OpenGL(雖然我對OS X不太確定,這不是非常OpenGL友好的AFAIK),但我不確定瓶頸是否真的是DrawBitmap() ,它可能是代碼首先轉換到wxBitmap :如果你不使用原始位圖訪問 ,它可能會很慢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM