Конечно, OpenCV может сделать это, но вы также можете использовать Python Imaging Library PIL и просто создать функцию для перебора обрезки изображения в небольших блоках изображения, установленного на ваш минимальный размер, и тестирования этихблокирует средний цвет и толерантность по критериям соответствия.Что-то вроде (непроверенный псевдокод):
import Image
im = Image.open("test_picture.png")
for y in xrange(image_height - block_height):
for x in xrange(image_width - block_width):
block = im.crop(x, y, x + block_width, y + block_height)
if colour_test(block): # test for match
return True
Очень просто получить информацию о цветовой частоте изображения, используя block.getcolors()
, так что вы можете легко написать функцию colour_test()
.