Ждать появления Версия 9 (Python)
Группа действий: Машинное зрение
Описание
Данное действие предназначено для ожидания появления объекта, соответствующего указанному шаблону, и получения его координат. В случае совпадения переданного изображения с изображением(ями) на экране, возвращаются координаты всех найденных совпадений.
Иконка действия
Параметры и их настройки
Свойство | Описание | Тип | Пример заполнения | Обязательность заполнения поля |
Параметры | ||||
Изображение | Путь к изображению для распознавания Допустимые расширения: ".jpeg", ".jpg", ".bmp", ".png", ".tif", ".tiff" Если алгоритм не нашел расширение файла или тип файла неприменим, робот завершится с ошибкой. | Изображение | Область распознавания | Да |
Степень сходства | Требуемый коэффициент сходства между указанным изображением и искомой областью. Максимальное значение равно "1" | Число | 1 | Да |
Тайм-аут | Время, в течении которого будет ожидаться появление заданного объекта Задается в мс | Число | 1000 | Да |
Возвращать центр | Действие будет возвращать координаты центров изображений, найденных на экране По умолчанию возвращаются координаты верхнего левого угла изображения | Логический | true | Нет |
Интервал снятия скриншота | Интервал снятия снимка экрана для сравнения с указанным изображением. Измеряется в секундах. Допустимые значения: целые числа от 1 и более Минимум 1 секунда. По умолчанию 1 секунда | Число | Нет | |
Алгоритм сравнения | Алгоритм для сравнения указанного изображения с изображением на экране. Если некорректно работает один алгоритм, следует попробовать другой. По умолчанию "TM_CCOEFF" Режимы сопоставления шаблонов TemplateMatchModes Значение по умолчанию - TM_CCOEFF | Строка | Выпадающий список. Элементы списка: •TM_SQDIFF •TM_CCORR •TM_CCOEFF •Прямое соответствие | Нет |
Сделать изображение черно-белым | Если значение "true", то цвет изображения будет изменен на оттенки серого | Логический | Нет | |
Искать ребра изображения | Если значение "true", то будет выполнен поиск ребер объектов на изображении. Ребра - это границы, которые обрисовывают объект изображения | Логический | Нет | |
Мин. граница поиска ребер | Минимальный размер ребер объектов изображения. Вместе со значением из поля «Макс. граница поиска ребер» составляет диапазон возможных размеров ребер | Число | Нет | |
Макс. граница поиска ребер | Максимальный размер ребер объектов изображения. Вместе со значением из поля «Мин. граница поиска ребер» составляет диапазон возможных размеров ребер. Учитывается, только если параметр "Искать ребра изображения" - true. Допустимое значение: от 0 до 255. По умолчанию: 200 | Число | Нет | |
Мин. изменение размера изображения | Минимальный коэффициент изменения масштаба указанного изображения. Параметр используется, если размер изображение на экране может отличаться от размера указанного изображения. Рекомендуемое значение: от 0.5. По умолчанию: 1 | Число | Нет | |
Макс. изменение размера изображения | Максимальный коэффициент изменения масштаба указанного изображения. Параметр используется, если размер изображение на экране может отличаться от размера указанного изображения. Рекомендуемое значение: от 0.5. По умолчанию: 1 | |||
Результаты | ||||
Координаты | Переменная, которая будет содержать координаты всех найденных объектов Порядок заполнения коллекции результатов: первым идет объект, найденный ближе всех к верхнему левому углу области поиска Если объект не появился за указанный промежуток времени, то будет выведена ошибка "Изображение не найдено" | Коллекция | Координаты_2 | Да |
Особые условия использования
- Разрешение изображения для поиска и разрешение экрана должно совпадать для корректности отработки действия. Для этого рекомендуется делать скриншот изображения. Наиболее эффективно применение файлов с расширением ".png".
- Интервал снятия скриншота не учитывает время обработки изображения. Действие будет снимать экран с заданной периодичностью. Интервал измеряется в секундах. Минимум 1 секунда.
- Значение параметра "Мин. множитель изменения размера изображения" не должно превышать значение параметра "Макс. множитель изменения размера изображения". Иначе действие выдаст ошибку.
- Если параметр "Мин. граница поиска ребер" заполнен, а параметр "Макс. граница поиска ребер" не заполнен (и наоборот), то действие будет брать значения, которые указаны у этих параметров по умолчанию.
- Если параметр "Мин. множитель изменения размера изображения" заполнен, а параметр "Макс. множитель изменения размера изображения" не заполнен (и наоборот), то действие будет брать значения, которые указаны у этих параметров по умолчанию.
- В случаях, когда алгоритм не нашел расширение файла или тип файла неприменим, робот завершится с ошибкой.
Интервал снятия скриншота настраивается в зависимости от ожидания появления элемента. Опираться можно на логику бизнес-процесса, как быстро объекты могут сменяться на экране.
- Чтобы выбрать подходящий алгоритм сравнения, надо несколько раз запустить действие с разными алгоритмами на своих данных и выбрать тот алгоритм, который именно для этих данных работает лучше. Из-за того, что изображения могут быть абсолютно разными (светлые, темные, геометрия, абстрактные, текст), метод может подойти под изображения похожего вида.
Изображения преобразуются в оттенки серого, чтобы упростить вычисления при сравнении. Нужно протестировать на своих примерах. Если дает хороший результат на конкретных входных данных, то использовать. Логотипы, иконки приложений лучше искать в цвете, текст в чб.
Алгоритм "Искать ребра изображения" хорошо работает, когда ищем прямоугольные объекты.
- "Минимальное/максимальное изменение размера изображения" рекомендуется использовать, если размер изображения на экране может отличаться от размера искомого изображения. Алгоритм берет интервал от "Мин. изменение размера изображения" до "Макс. изменение размера изображения" и запускает алгоритм сравнения изображений, постепенно увеличивая искомое изображение. Это увеличивает время работы алгоритма, но может быть полезно, если пользователь не уверен в том, что искомое изоражение появится на экране в таком же размере.
- Почему действие может не находить искомое изображение:
- Если объект на изображении-шаблоне повёрнут по сравнению с целевым объектом на большом изображении (или наоборот), стандартные методы сопоставления шаблонов не смогут обнаружить объект.
- Различия в освещении могут влиять на значения пикселей, затрудняя сопоставление шаблонов для надёжного обнаружения объектов.
Если объект частично закрыт или если на большом изображении много помех (несколько объектов, шум). Алгоритм ищет точное совпадение и не может обрабатывать скрытые части объекта.
При сопоставлении шаблонов предполагается, что интересующий объект всегда имеет определённую форму. Это затрудняет работу, когда объекты деформируются, имеют разный внешний вид или состоят из разных текстур (например, лица или тела людей).
Пример использования
Задача
Вернуть координаты найденных изображений на экране, соответствующих указанному изображению при задании различных значений параметров согласно таблице настройки.
Решение
Воспользоваться действием "Ждать появления".
Реализация
- Добавить в тестовый робот действие "Ждать появления" - 6 на рабочую область, с которым мы будем работать .
- Кликнуть на иконку справа появится боковая панель с настройками параметров.
- Последовательно будем задавать значения параметров.
В строке изображения укажем путь, где находится изображение для распознавания.
Последовательно будем заполнять параметры, влияющие на степень сходства с шаблоном появляющегося изображения.
Задача 1
Вернуть координаты найденных изображений на экране, соответствующих указанному изображению при задании минимальных настроек значений параметров согласно таблице настройки.
Запустить робот.
Робот отработал успешно. Минимальный набор параметров настроек корректен.
Задача 2
Вернуть координаты найденных изображений на экране, соответствующих указанному изображению при задании расширенных настроек значений параметров согласно таблице настройки.
Запустить робот.
Задача 3
Вернуть координаты найденных изображений на экране, соответствующих указанному изображению при задании отдельных некорректных расширенных настроек значений параметров отличных от таблицы настройки.
При задании интервала снятия снимка экрана для сравнения с указанным изображением. Задали нулевое значение. Допустимые значения: целые числа от 1 и более.
Робот выдал ошибку.
Задача 4
Вернуть координаты найденных изображений на экране, соответствующих указанному изображению при задании отдельных некорректных расширенных настроек значений параметров отличных от таблицы настройки.
При задании минимального коэффициента изменения масштаба указанного изображения задали значение "-1". Рекомендуемое значение: от 0.5. По умолчанию: 1.
Робот выдал ошибку.