问题描述
人们有没有成功地在 python/opencv 中加速视频(后期)处理?
我在(非 M1)MacBook Pro 上使用 brew 的 4.5.2。
我希望影响性能的两个“支柱”是:
- 我使用 ndarray 类型作为 Mat(默认),所以我不相信 算法可以利用 OpenCL 加速。
- VideoCapture 看起来是实时读取(),所以我被限制为最高 30 fps 在 30 fps 源上处理。一些来源建议使用 FFMPEG, 即从源代码构建,将允许与处理器一样快地读取 可以运行。
我从在线搜索中看到的(因为我是后处理)建议使用并行处理,方法是将文件拆分为多个块并在单独的线程中读取。我可以看看。但我也想了解人们是否成功解决了我提出的两个问题。理想情况下,更快的阅读和处理将使我避免必须分块然后组合视频片段...
我最初尝试转换 Mat -> UMat 并没有明显的改进,尽管我可以看到 OpenCV 源为我正在使用的方法(undistort、cvtColor、calcopticalFlowFarneback 等)提供了 OpenCL 实现。 FWIW,对于 30 fps 的源,我得到
总结:
由于迭代速度的原因,我的意图是使用 python,所以我希望有一些简单的技巧来加快每次迭代的计算步骤。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)