Python + OpenCV

Спустя 5 лет снова мне понадобилось тут применить библиотеку распознавания образов OpenCV. Но что-то я как в стену уперся.

Несколько дней уже периодическими наскоками пытаюсь заставить работать как надо функцию распознавания объектов с маской (PNG + альфа-канал прозрачности). Но вот никак оно не хочет правильно работать….

С простым поиском отдельных изображений-объектов все отлично. А вот когда пытаюсь сделать в фотошопе png с прозрачными областями и подсунуть в функцию cvv.matchTemplate() - не видит оно ожидаемое сходство. Хоть и передаю маску отдельно, как требуется, а сами изображения привожу к одной палитре RGB из RGBA.

Уже спустился до того, что в photoshop левые-верхние пиксели через один включал, а в коде проверял какие байты видит в этом альфа-канале. И даже инвертировал весь этот 4-й канал все туда-сюда. So far so bad…


Update: Вот стоило мне этот пост написать, как, наконец, мозаика вся сложилась. Сразу несколько факторов меня сильно запутывали. То вдруг оказывалось, что я нужно окно нечаянно зацепил и поменял его размер в пикселях. То каким-то образом поисковый шаблон оказался сдвинут влево. То результат функции при другом выбранном алгоритме надо было ожидать другой (как бы кверху ногами).