当可能的图像都已知时,快速模板匹配。适合 GUI 脚本。
项目描述
哪个图片
当可能的图像都已知时,快速模板匹配。用于 GUI 脚本的便捷工具。
如何使用
它支持python 3.6 +
pip install whichimg
from whichimg import ImageTeller
teller = ImageTeller([img1, img2, img3, img4]) # numpy arrays
teller.tell(secret_img) # returns 0 or 1 or 2 or 3 or -1 for not found
如果您确定secret_img是其中一张图片,您可以将关键字参数设置surprises为False. 这会给您带来轻微的性能提升。
teller = ImageTeller([img1, img2, img3, img4], surprises=False)
这相当于下面的幼稚方法
def naive_tell(images, sample_img):
for i, img in enumerate(images):
if np.array_equal(img, sample_img):
return i
return -1
naive_tell([img1, img2, img3, img4], secret_img)
笔记
它通常并不比天真的方法快。我认为我的方法更快,但花了一周时间写了这个狗屎。lmfao.
tests/fixtures在我提出的测试数据(10x10 图像)上,它们的速度差不多。通过我的粗略测试,当有许多可能的图像(> 10)并且图像更大(例如 200x200)时,可能会有很大的性能提升。