Предположим, мы ищем этот шаблон:
Углы нашего шаблона прозрачны, поэтому фон будет разным, например:
Предполагая, что мы можем использовать следующую маску с нашим шаблоном:
Это было бы очень легко найти.
Что я пробовал:
Я пробовал matchTemplate
, но он не поддерживает маски (насколько я знаю), и использование альфа-канала (прозрачность) в шаблоне не позволяет этого добиться, поскольку он сравнивает альфа-каналы вместо игнорирования этих пикселей.
Я также изучил "область интересов", которая, как я думал, будет решением, но с ее помощью вы можете указать только прямоangularьную область. Я даже не уверен, работает ли он на шаблоне или нет.
Я уверен, что это возможно сделать, написав свой собственный алгоритм, но я надеялся, что это возможно через. стандартный OpenCV, чтобы не изобретать велосипед. Не говоря уже о том, что он, скорее всего, будет более оптимизирован, чем мой.
Итак, как я могу сделать что-то подобное с OpenCV + Python?