Подготовка картинки для Findimage

Материал из UoPilot
Версия от 11:36, 28 августа 2019; Tatikoma (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Findimage.jpg

Подготовка картинки

Если картинка статична и не меняется, то достаточно вырезать нужную часть.
Обычно не требуется вырезать картинку с точностью до пикселя. Можно искать лишь небольшую часть.
Нужно найти картинку 24*24 пикселя:
Nobless1.png
Можно искать её целиком:
Nobless2.png
Но, вполне достаточно 10*10:
Nobless3.png
Левый верхний пиксель желательно (но, не обязательно) закрасить в любой цвет, которого нет в картинке.

Подготовка картинки для поиска текста в чате Lineage2

Чат прозрачный и цвет фона меняется, поэтому его не нужно учитывать при поиске текста.
1. Открыть Paint, Photoshop или другую программу для редактирования изображений.
2. Вырезать текст, который нужно найти. Для удобства можно увеличить картинку.
4. Выбрать инструмент карандаш (не кисточка) или заливка.
3. Закрасить фон (или то, что не нужно учитывать при поиске) и левый верхний пиксель, обязательно в один цвет (любой).
4. Сохранить картинку в формате bmp 24 бита.
Для примера, нужно найти Hello в чате.
Chat.jpg
При увеличении слово Hello будет выглядеть так:
HelloReal.png
Если искать картинку в таком виде, то она, скорее всего, не найдётся. Т. к. фон везде разный.
Поэтому, закрашиваем левый верхний пиксель и фон в один и тот же цвет. Любой цвет, это не имеет значения, т. к. он будет игнорироваться при поиске.
HelloNorm.png
Теперь, можно использовать картинку для поиска.
Не забывайте про параметр deviation (погрешность оттенка) в Findimage.
Также, можно искать текст полоской высотой в 1 пиксель.
trumb

Подготовка картинки для поиска части изображения

Repair1.jpg
Нужно найти предмет, который находится в красной рамке. Т. к. предметов в игре много делать для каждого картинку нет смысла.
Можно искать красную рамку.
Вырезаем рамку и закрашиваем всё лишнее любым цветом и обязательно в этот же цвет левый верхний пиксель, теперь, всё что закрашено в цвет левого верхнего пикселя не будет сравниваться. Т. е. будет искаться только рамка.
Рамка.jpg
Не забываем, формат картинки должен быть bmp 24 бита.

Пример, когда фон закрашивать не нужно или закрашивать частично

Ринуться в бой.png
Нужно найти кнопку. Можно вырезать её и искать.
Но, при при наведении на неё курсора она подсвечивается, в итоге не будет находится, если курсор оказался над ней.
Ринуться в бой5.png
Если закрасить весь зелёный фон, добавить в параметры FindImage deviation (погрешность оттенка), то открыв блокнот, картинка будет найдена.
Потому что буквы белого цвета на белом фоне блокнота будут найдены, фон ведь не учитывается.
Ринуться в бой2.png
Т. е. вариант с закрашивание фона не подходит. Можно конечно сделать 2 картинки, одну в обычном состоянии, вторую в подсвеченом.
Но зачем делать и искать две картинки, когда можно обойтись одной.
Вариант 1:
Оставляем часть фона, которая не меняется или меняется не сильно.
Ринуться в бой1.png
Вариант 2:
Ищем не текст кнопки, а её края, они не меняются при наведении курсора на кнопку.
Ринуться в бой4.png