Imagemagick的导入速度令人沮丧

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Imagemagick的导入速度令人沮丧相关的知识,希望对你有一定的参考价值。

我正在编写一个小的python脚本来截取游戏窗口的截图(将在后台/最小化)并使用cv2执行一些简单的模板匹配和ocr。我目前正在调用im的导入如下:

import -window windowID png:-

截取非活动窗口的屏幕截图。

然而,这需要将近4秒,并且很容易成为我脚本中最慢的部分100倍。

是否有任何替代导入或可能是更快的另一种接近这种方式?

我已经尝试过graphicsmagick(结果比imagemagick慢)和xwd(即使指定了windowID也没有捕获未聚焦的窗口)

Link to full python script(第44行是屏幕截图发生的地方)

答案

您正在ImageMagick中执行所有PNG编码和zlib压缩,然后在OpenCV中再次解压缩它。如果您发现两者之间更紧密地共享的格式,我想你会做得更好。

具体来说,ImageMagick可以直接为您提供RGB像素,然后您可以使用cvtColor()在OpenCV中轻松转换为BGR。

import -window windowID rgb:

您必须查询窗口尺寸才能获得宽度和高度。

或者,您可以使用PPM格式,OpenCV也可以在没有任何库的情况下读取,其中包括维度:

import -window windowID ppm:

以上是关于Imagemagick的导入速度令人沮丧的主要内容,如果未能解决你的问题,请参考以下文章

复制资产/资源使 iOS 测试令人沮丧

发现令人沮丧的 NoReverseMatch

NSTask 和 NSTaskDidTerminateNotification 令人沮丧的问题

在 MacOS 上安装 Spyder/Python - 非常令人沮丧

琐碎的 PL/SQL 块生成令人沮丧的 PLS-00103 错误

android.view.InflateException:二进制 XML 文件:膨胀类片段时出错