将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