@winser

Dll(Библиотека) для поиска части изображения на скрине?

Подскажите может кто знает библиотеку которая могла бы произвести поиск на большой картинке, маленькую. То есть допустим в большой картинке есть кнопка, в маленькой картинке скриншот этой кнопки. На входе задаеться два изображения большое в котором искать и маленькое которое ищем, на выходе выдаються координаты расположения маленькой картинки. Так же нужно чтобы была возможность задать погрешность поиска, чтобы если маленькая картинка немного не совпадает с тем что есть на большой картинке тоже все работало.
Нашел одну библиотеку но там все слишком сложно.
  • Вопрос задан
  • 701 просмотр
Пригласить эксперта
Ответы на вопрос 2
Neuroware
@Neuroware
Программист в свободное от работы время
смотря насколько точно это нужно, в простейшем (но не быстрейшем) случае достаточно будет сделать так:
написать функцию которая работает примерно так:
Проверка(исходное; фрагмент; точка) где точка место на исходном изображении в котором проверяем наличие фрагмента.
наличие же фрагмента определяем как разность по модулю цветов в каждой точке (r1-r2,g1-g2,b1-b2)

Далее делим исходное изображение на "клетки" и пробегаем по каждой из них и проверяем нет ли там фрагмента, в тех местах где фрагмент разница будет меньше чем в тех места где его нет.
Точность "поиска" будет зависеть от размера сетки, размер нужно брать не меньше четверти размера фрагмента, иначе можно и не найти фрагмент. Так же можно задать "немного не совпадает" и заодно "ускорить" алгоритм путем пропорционального уменьшения размера обоих изображений, координата соответственно будет так же "увеличиваться" в той же пропорции.
Вы не указали конкретный язык поэтому только описание алгоритма, для некоторых языков описанное выше можно найти в виде готовой библиотеки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы