Как найти изображение на другом изображении, игнорируя прозрачные пиксели - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь выяснить, есть ли где-нибудь в родительском изображении под-изображение. Не идеальное совпадение пикселей, но в пределах некоторого порога ошибки. Однако мое вспомогательное изображение имеет прозрачный фон, который я не пытаюсь сопоставить.

Допустим, мое вспомогательное изображение представляет собой кольцо с прозрачным центром. Родительское изображение может содержать все, что угодно, внутри прозрачного центра, я просто хочу иметь возможность найти это кольцо.

Я пробовал возиться с opencv matchTemplate, но всякий раз, когда я начинаю добавлять прозрачные пиксели, сходство начинает снижаться.

Как правильно это сделать?

1 Ответ

0 голосов
/ 04 августа 2020

Отбросьте альфа-слой (маска) перед тем, как попробовать matchTemplate. Яркий способ сделать это:

img = cv2.cvtColor(img, cv2.COLOR_BGRA2BGR)
...