Ну, используя OpenCV, вы бы взяли кадр видеофайла и сделали с ним все вычисления.
Вы можете сделать несколько разных способов обнаружения символа на этом изображении, но это не так просто, чтобы иметь такую гибкость, чтобы вы могли даже получить этого человека, если он лежит на полу, например, если вы только вводили эталонные изображения этот персонаж стоит.
По сути, вы можете попытаться извлечь все важные функции из набора опорных изображений и использовать (в вашем случае под наблюдением) алгоритм обучения, который получает хороший вектор признаков этого символа для классификации.
Затем вам нужно написать свой код, который воспроизводит видео и который берет видеокадр, скажем, каждые 500 мс (или любой другой, по вашему желанию), получает сегментацию объекта, который вы представляете как этот символ, и сравнивает его со ссылкой. значения, которые вы получаете из вашего алгоритма обучения. Если есть совпадение, ваш код может кричать "Yehaaawww!" или делать другие вещи ...
Но все это зависит от того, насколько гибким вы хотите, чтобы это было. Вы также можете попробовать сопоставление с шаблоном или взаимную корреляцию, которая в основном смещает контрольное изображение (изображения) по кадру и проверяет, насколько равны обе части. Но это, к сожалению, очень чувствительно к вращению, деформации или другому шуму ... так что вы не получите этого человека, если он будет лежать. И я сомневаюсь, что вы можете сделать все эти вычисления в режиме реального времени ...
В основном: да. OpenCV хорошо использовать для задач обработки изображений / компьютерного зрения. Но он предлагает множество методов и способов, и вам нужно найти способ, который работает для ваших изображений ... хотя это не тривиальная задача ...
Надеюсь, это поможет ...