將IplImage集成並顯示到Qt GUI中的最佳方式是什麼?這可以使用OpenGL完成嗎?如果是,如何?如何在使用OpenGL進行渲染的Qt界面上顯示IPLImage流?
1
A
回答
1
嗯,我在這裏回答我自己的問題。
自從一年以來,我一直在使用OpenCV,並且很多時候我不得不編寫代碼來打開視頻文件並對其進行流式處理。最近,我一直在使用Qt來提供高級gui,並且我想出了一個解決方案,在使用OpenGL的Qt GUI上顯示IplImages(我花了很多時間努力,但終於成功了)。雖然,OpenCV可以用Qt highgui支持來構建,但我很想學習一些OpenGL並在我的應用程序中使用它。
我認爲這對那些需要爲其應用程序運行視頻的基本框架的人有所幫助。
這個基本框架可用於廣泛的應用,如視頻內容分析,人臉識別,模式識別等。從廣義上講,這基本上是一個沒有音頻支持的視頻播放器。所以,如果你想要,你可以添加音頻支持,並使其成爲一個視頻播放器。它將播放幾乎所有格式,因爲opencv使用ffmpeg播放視頻。我創建了一個C++庫,對此我相當廣泛使用相同的:
主要類別是:提供
QVideo : The main widget, providing functionality to open a video/rtsp stream and play it
QIplImage: The core display widget. It's a QGLWidget which renders an IplImage
BackgroundWorker: This is a thread which runs in the background to retrieve images
from the stream. It is mandatory to run the frame grabber in a background thread,
otherwise it interferes with the GUI thread. All the image processing can be done in
this thread
的源代碼,這樣就可以將它修改爲您的需求。 一旦安裝了該庫,你可以用它在你的Qt應用程序,像這樣:
//Create an object
QVideo* video=new QVideo("Name",);
//set geometry (optional)
setCentralWidget(video);
要構建庫,您將需要QT和OpenCV(有更好的支持)安裝。 該庫基於該體系結構安裝在/ usr/lib或/ usr/lib64中。 將包含文件安裝到/ usr/local/include中 當然,如果需要,所有這些都可以在項目文件中更改。 要安裝,只需解壓縮包,然後運行qmake,make和sudo make install。 注意:該項目已針對unix進行配置,並且需要針對Windows版本進行更改。給我留言瞭解更多信息。
相關問題
- 1. 使用OpenGL進行Qt渲染
- 2. Android:使用NDK進行OpenGL渲染
- 3. 使用webgl/opengl進行輪廓渲染
- 4. 使用openMP進行OpenGL 3D渲染
- 5. Qt使用ShaderEffect進行QImage渲染
- 6. Qt和OpenGL如何渲染PVR
- 7. 使用Monotouch在外部顯示器上渲染opengl
- 8. QT Webkit和OpenGL渲染上下文
- 9. 在Web服務器上使用OpenGL進行渲染
- 10. 如何在OpenGL上下文中渲染/顯示網頁?
- 11. 如何在opengl中渲染橫截面
- 12. 如何使用OpenGL進行渲染但仍然使用SDL進行事件?
- 13. 如何加快使用OpenGL(ES)2進行渲染Android
- 14. 使用ILNumerics在OpenGL渲染器中不顯示任何標籤
- 15. 渲染使用OpenGL
- 16. 如何在流星React組件上進行渲染模板
- 17. DynaTree顯示頁面上零根渲染
- 18. 流星將如何使用jQuery插件進行表格渲染?
- 19. 如何使用OpenGL ES渲染圖像?
- 20. 如何渲染到幀緩衝區而不在屏幕上用OpenGL顯示?
- 21. 在Unity項目中使用OpenGL ES進行紋理渲染
- 22. 如何在OpenGL對象的紋理中顯示OpenGL渲染的場景?
- 23. OpenGL回到正面渲染
- 24. Unity3d使用不同的設備進行渲染和顯示
- 25. 使用struts2在jsp上渲染pdf流
- 26. Qt OpenGL 3.3:紋理渲染問題
- 27. 使用glDrawElements的OpenGL ES 2.0渲染僅顯示一個VBO
- 28. 如何在Android上使用OpenGL渲染2D圖形/圖形?
- 29. 使用OpenGL渲染錯誤
- 30. 使用OpenGL渲染QImage