python检测图像能否被打开_python – 如何检测屏幕上是否存在图像?

如果你将它分解成碎片,它们都非常简单.

首先,您需要将应用程序窗口的屏幕截图作为2D像素阵列.有各种不同的方法以特定于平台的方式执行此操作,但您没有提到您正在使用的平台,所以…让我们使用PIL抓住整个屏幕:

screenshot = ImageGrab.grab()

haystack = screenshot.load()

现在,您需要将base64转换为图像.快速浏览一下,它显然只是一个编码的PNG文件.所以:

decoded = data.decode('base64')

f = cStringIO.StringIO(decoded)

image = Image.open(f)

needle = image.load()

现在你有一个2D像素数组,你想看看它是否存在于另一个2D数组中.有更快的方法可以做到这一点 – 使用numpy可能是最好的 – 但也有一种愚蠢的暴力方式,这很容易理解:只是迭代干草堆的行;对于每一个,迭代列,看看是否找到与第一行针匹配的字节.如果是这样,继续浏览其余行,直到你完成所有针,在这种情况下你返回True,或找到不匹配,在这种情况下你继续,然后再次开始下一行.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值