severum 0 Жалоба Опубликовано January 24, 2013 Подскажите для быстрого старта примеры и что почитать может. 1. На скриншоте с экрана по патернам хочу опознать цифры(расположены вряд) и картинки. Знаю примерное расположение. Вроде должно быть просто и быстро - пиксели один в один (по цвету). Не видео. Может часть перекрыта. (cvMatchTemplate() ?) 2. Получить разницу двух картинок. И опять же отличающиеся участки использовать для поиска на них цифр и картинок. Предполагаю Python + PIL + OpenCV. Может для этого OpenCV и не обязателен и есть, что то более подходящее. Нужно для автоматизации - вариация sikuli, но в своем исполнении. Желательно, что бы работало побыстрее (openCL ?). Заранее спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано January 24, 2013 1. да 2. не понял. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
severum 0 Жалоба Опубликовано January 24, 2013 1. спасибо 2. Два скриншота сделаны с разницей в 5 секунд. На экране что-то изменилось. Определить места где. Чтобы ускорить поиск по тем же шаблонам. (И еще наверное понадобится проконтролировать, что изменение в нужном месте экрана произошло). Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано January 24, 2013 ну если у вас что то простое(типа интернет страницы), то можно просто сделать вычитание пикселей даже. если что то сложное, то надо делать вычитание фона по каким либо более продвинутым алгоритмам, но это обычно для видео и вам наверно и не надо. http://experienceopencv.blogspot.ru/2011/01/background-subtraction-and-models.html google->opencv background subtraction Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
severum 0 Жалоба Опубликовано February 2, 2013 Двигаюсь медленно как появляется время. 1. А как после matchTemplate правильно найти больше одного совпадения? Локальные экстремумы которые больше/меньше определенного порога. Как быстрее? Есть какая-то функция? Последовательно заливать найденное и искать дальше? Залить по порогу? Найти не залитые области и искать в каждой из них? 2. В python cv2 ROI вроде считается устаревшим? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано February 4, 2013 1. www.compvision.ru/forum/index.php?showtopic=741 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
severum 0 Жалоба Опубликовано February 9, 2013 Еще вопрос. Как определить на сколько найденное соответствует шаблону. т.е. нахожу минимум (matchTemplate, CV_TM_SQDIFF, minMaxLoc ) = лучший результат = некое число. В какой диапазон оно должно попасть чтобы быть уверенным, что соответствие 95%. И если процент меньше считать, что не нашел. Не зависимо от размеров изображений. Спасибо Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано February 9, 2013 А что такое соответствие 95%? Как Вы его определите? Процент чего от чего? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано February 11, 2013 ну как бы коэффициент корреляции 1 это полное совпадение т.е. 100%. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
severum 0 Жалоба Опубликовано February 12, 2013 Спасибо за ответы. Как Вы его определите? Процент чего от чего? Можно думаю заранее посчитать какие цифры получаются при полном совпадении картинок, при полном не совпадении и т.д... ну как бы коэффициент корреляции 1 это полное совпадение т.е. 100%. При корреляции да. Но там формулы разные и цифры совсем разные получаются. Надо видимо выбрать, что я хочу. Пока цель получить функцию наподобие того, что есть в Sikuli. Может знаете... как там это реализовано и почему так медленно по сравнению с opencv работает? Сейчас время появится - поэкспериментирую. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано February 12, 2013 Может знаете... как там это реализовано и почему так медленно по сравнению с opencv работает? ну во-первых там походу скриптовый язык, значит идет его итерпретация. потом cvmatchtemplate делается через фурье преобразование( быстрее ). кстати что умеет этот язык? может запоминать, то что делает юзер, а потом воспроизводить? ну например пройтись по определенным ссылкам и сохранить фотографии+ прочитать информацию в определенных полях и записать в txt? может в несколько потоков желательно чтоб еще и прокси автоматом? а то на том же питоне+селениум это относительно муторно. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано February 12, 2013 ну такое то http://doc.sikuli.org/tutorials/helloworld/helloworld-win.html можно даже попиксельной разностью. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано February 12, 2013 http://www.slideshare.net/vgod/practical-sikuli-using-screenshots-for-gui-automation-and-testing хотя судя по 11 слайду там используется opencv Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах