gpt4 book ai didi

c++ - 使用 wxWidgets 绘制视频流

转载 作者:太空狗 更新时间:2023-10-29 21:38:16 24 4
gpt4 key购买 nike

我有一个相对简单的应用程序,目前使用 OpenCV 使用 cv::VideoCapture 从相机中抓取图像,并使用 imshow() 在窗口中查看生成的图像> 在 OS X El Capitan 上运行。

在此期间,我正在做一些基本的图像修改,但这对我的问题来说并不重要。

由于 OpenCV 实现的 GUI 非常基础,我决定使用 wxWidgets 重做它。我得到它基本上运行类似于实现 linked在 wxWidgets 的教程部分。 (将其更新为 C++11 等,但想法几乎相同。代码位于 github 上。)

现在我的问题是:在最好的情况下,我得到的帧率只有使用 OpenCV 解决方案的一半。 OpenCV 在底层使用 qt。但是当我查看堆栈跟踪时,它归结为使用 CoreGraphics 的类似函数调用。

所以我的问题归结为:在 OS X 上使用 wxWidgets 将图像绘制到帧速率 > 20fps 的窗口的最佳方法是什么?目前我使用 DrawBitmap() 函数。

奖金问题:当我的 Macbook 内部 Retina 屏幕上有窗口时,帧率变得更糟。我应该对图片进行任何预处理/缩放以减轻 GUI 进程的负载吗?

最佳答案

最快的可能是使用 OpenGL(虽然我不太确定在 OS X 下这不是 OpenGL 友好的 AFAIK),但我不确定瓶颈是否真的是 DrawBitmap() ,它可能是首先转换为 wxBitmap 的代码:如果你不使用 raw bitmap access , 它可能会很慢。

关于c++ - 使用 wxWidgets 绘制视频流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35778456/

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