Всем здравия!
Тема для Warface уже создана, поэтому со своим вопросом обращаюсь сюда.
Задача: в сабжевой игре реализовать механизм реакции кликера на определенные сообщения в чате.
Проблемы:
а) в основном поле чата текст отображается в виде графики, а не в виде символов. То есть анализ сообщений на основе копипасты неприменим.
б) сам текст (точнее изображение) имеет полупрозрачность, а в фоне крутится анимация, что затрудняет распознавание команды на основе анализа цвета/координат пикселей.
Испробованные методы решения:
1. ифпикчерин с цветокоррекцией;
2. подсчет количества количества пикселей после цветокоррекции.
Поток сознания на тему:
Методы использовались и по отдельности и оба последовательно. Добиться однозначного определения команды в обоих случаях не удалось. Реализовал механизм вычисления координат блока команды, чтобы в строке чата изолировать саму команду от ника.
Толку никакого. В зависимости от длины ника (то есть смещения начала команды относительно левого края окна) пикселькаунт в одной и той же команде выдает разброс значений, неприменимый для однозначной идентификации команды. Например, при x=403, количество контрольных пикселей 129 (+-1), но при x=467 количество меняется на 112(+-2). Долбаный динамический фон...
В связи со всей этой мутью, изложенной выше, вопросы:
1. Какую порекомендуете методику для анализа и однозначной идентификации объекта (текста в данном случае) с полупрозрачностью и динамическим фоном? Листинг скрипта необязателен, интересует сам теоретический подход, концепция, что ли...
2. В ходе экспериментов возник интерес к работе команд, использующих в качестве параметра точность (например, ифпекчерин, сканпикча). Каким образом происходит сравнение образца с эталонным? Учитывается только цвет и количество пикселей? Или, может быть, еще и координаты массивов пикселей одного или подобных цветов? Хотелось бы поподробнее узнать о механике работы подобных команд.
3. Как часть 2. Заинтересовал параметр точности. В справке не нашел команды, которая бы сравнивала образец с эталоном и на выходе выдавала бы процент точности. Каким образом можно установить степень соответствия двух изображений?
ЗЫ. Пока писал пост, по третьему вопросу возникла мысль соотнести выводы команд pxlxor(или pxlcrc) для исходной области и текущей. Корректен ли будет такой способ оценки соответствия двух изображений?