Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: gsukhado on July 14, 2020, 11:49:01 AM

Title: Проверка на наличие областей затенения
Post by: gsukhado on July 14, 2020, 11:49:01 AM
День добрый.
В игрушке если шахты заняты - то над ними высвечивается тайминг, на затененном фоне. Т.е. там не просто черный фон, а именно затенение по отношению к иной картинке. Если делать Colormode - то если вокруг основная картинка темная (трава, горы) - то в итоге и основная картинка, и это затемнение будут оба черными.
Можно ли как-то обнаруживать наличие подобных затемненных участков?
Т.е. общий потенциальный алгоритм: находится шахта (наличие нужной картинки), а потом над ней проверить есть ли затененный участок или нет. Человеческий глаз эту затененность видит, а вот как эту "затененность" выявить программно? Может быть будут идеи?
Title: Re: Проверка на наличие областей затенения
Post by: Vint on July 15, 2020, 11:41:51 AM
COLORMODE 6 подходит. И поиск узкой длинной полоски примерно 20x3 (до 15x2) обязательно в ожидаемом месте (ограничить зону поиска).
На светлом фоне будет другой цвет, значит сделать и искать 2 варианта.
Всё равно это не 100% способ. Если фон разделит правую и левую области на части двумя вариантами, найти так не получится. см. скрин 1.

Думал можно по надписи времени выловить, например, по двоеточию ":", но там с расстоянием всё масштабируется и выходит шляпа. Перспектива тудыть.

Если так результат будет не удовлетворительный, то есть вариант, дополнительно перед поиском подтягивать область в окне на нужное место.
Масштаб похож на 1:1 чуть выше середины экрана, там, где время 03:06 и затенённая область без сглаживания 65x11  см. Скрин 2
И там уже искать : в окружении 2 вариантов фона.
Title: Re: Проверка на наличие областей затенения
Post by: gsukhado on July 20, 2020, 04:53:09 PM
Спасибо за ответ. Я до этого как-то только с Colormode-7 и Colormode-8 пробовал, очень плохо. Попробую Colormode-6
Вариант перетаскивания в нужную точку экрана - увы, по ряду причин не подходит.