Sikuli может быть идеальным для этого. Он основан на Jython, поэтому может быть расширен с помощью инструментов Python или Java.
Sikuli - это визуальная технология для автоматизации и тестирования графического пользователя.
интерфейсы (GUI) с использованием изображений (скриншоты). Sikuli включает в себя Sikuli
Script, API визуальных сценариев для Jython и Sikuli IDE,
интегрированная среда разработки для написания визуальных сценариев с
скриншоты легко.
Редактировать
Если изображение хорошо определено, как в вашем примере, его можно легко сопоставить без особой обработки изображения. Здесь я использовал matplotlib (маленькое изображение должно быть точно обрезанной версией большого изображения).
Целевое изображение (65x173):
Изображение для сопоставления (29x29):
In [48]: import matplotlib.pyplot as pl
In [49]: target = pl.imread("r.png")
In [50]: match = pl.imread("xx.png")
In [51]: target.shape
Out[51]: (65, 173, 4)
In [52]: match.shape
Out[52]: (29, 29, 4)
In [53]: for y in range(2):
....: for x in range(5):
....: sub_x = 36*x
....: sub_y = 36*y
....: sub_target = target[sub_y:sub_y+29,sub_x:sub_x+29,:]
....: if (match == sub_target).all():
....: print "Match found between (%d,%d) and (%d,%d)" % (sub_x,sub_y,sub_x+29,sub_y+29)
....:
Match found between (72,0) and (101,29)