gpt4 book ai didi

c++ - OpenGL 显示图像的速度是否比 OpenCV 快?

转载 作者:可可西里 更新时间:2023-11-01 18:18:40 28 4
gpt4 key购买 nike

我正在使用 OpenCV 在投影仪上显示图像。但似乎 cv::imshow 不够快,或者从我的 CPU 到 GPU 再到投影仪的数据传输速度很慢,所以我想知道是否有比OpenCV?

我考虑过 OpenGL,因为 OpenGL 直接使用 GPU,该命令可能比 OpenCV 使用的 CPU 更快。如果我错了,请纠正我。

最佳答案

OpenCV 本身已经支持 OpenGL 图像输出。无需自己编写!

查看文档: http://docs.opencv.org/modules/highgui/doc/user_interface.html#imshow http://docs.opencv.org/modules/highgui/doc/user_interface.html#namedwindow

首先使用namedWindow 创建窗口,您可以在其中传递WINDOW_OPENGL 标志。然后您甚至可以使用 OpenGL 缓冲区或 GPU 矩阵作为 imshow 的输入(数据永远不会离开 GPU)。但它也会使用 OpenGL 来显示规则矩阵数据。

请注意:

To enable OpenGL support, configure OpenCV using CMake with WITH_OPENGL=ON . Currently OpenGL is supported only with WIN32, GTK and Qt backends on Windows and Linux (MacOS and Android are not supported). For GTK backend gtkglext-1.0 library is required.

请注意,这是 OpenCV 2.4.8,此功能最近发生了变化。我知道在早期版本中结合 Qt 后端支持 OpenGL,但我不记得它是何时引入的。

关于性能:使用OpenGL输出图像是CV社区中比较流行的优化,尤其是在输出视频序列时。

关于c++ - OpenGL 显示图像的速度是否比 OpenCV 快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21129683/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com