Сейчас скрипт довольно неплохо работает на cv.matchTemplate. Если отойти чуть подальше от мишеней — работать перестанет, думаю можно ресайзить тимплейт и сравнивать несколько раз.
Так же можно использовать массив из нескольких тимплейтов. Начал использовать mss для граба экрана с целью увеличения производительности.
Потом попробовал по цветам на основе hsv — занятно, сколько схожих цветов на картинке, которые глаз вообще не различает.
Немного разобрался, как с контурами работать в массиве и сравнивать их размер. Но пока не представляю как можно с помощью математки и геометрии эти контуры можно сопоставить с шаблонами. Возможно попробую сопоставить по площади, а затем найти в этих контурах определённые цвета (сами мишени белые, а в них круги с красными точками в центре).
Большая мечта — тензорфлоу и обучение модели. Но это для моего уровня очень сложно.
Да, я нашёл неплохие гайды по использованию готовых моделек на том же хабре, а вот как свою создать меньше инфы толковой. На ютубе да, вроде есть обучалки именно по созданию. Возможно на этапе реализации станет понятно, когда сам попробую пописать.
OpenCV в Python. Часть 2