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的导入速度令人沮丧的主要内容,如果未能解决你的问题,请参考以下文章
NSTask 和 NSTaskDidTerminateNotification 令人沮丧的问题
在 MacOS 上安装 Spyder/Python - 非常令人沮丧