Конференция "Media" » Распознать обьекты [D7]
 
  • capirurso (03.11.10 06:48) [0]
    Привет. Есть задача, имею рисунок, bitmap, размером допустим 800х600. На рисунке есть объекты, пускай будут квадраты, безпорядочно разбросанные по всей области. Есть второй рисунок, на котором изображен сам объект, который надо искать (квадрат). Нужно узнать сколько таких же квадратов находится на рисунке.

    Пробовал так: создаю третий битмап, туда копирую часть первого рисунка, с размером второго (который ищем), с координатами начиная [0,0] дальше [1,0]-[2,0]-[3,0] до конца длины, дальше перемещяюсь на начало но с +1 пикселем вниз, и каждый кусочек сравниваю попиксельно со вторым рисунком (который ищем). В итоге все ок работает, и все устраивает кроме одного: скорость. Все это жутко долго работает. Пробовал fast lib TFastBMP скорость прибавилась, но все равно не то. Есть ли другие варианты решения? Может кто сталкивался? Идеи?
  • DVM © (03.11.10 11:56) [1]

    > Может кто сталкивался? Идеи?

    Можно попробовать с пом. преобразования Хафа

    http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%A5%D0%B0%D1%84%D0%B0

    определить координаты прямоугольников на изображении исходном и искомом.

    (кстати в открытой билиотеке Intel OpenCV есть пример, находящий прямоугольники )

    Дальше дело техники - просто сравнить найденные прямоугольники по координатам.
  • capirurso (03.11.10 14:47) [2]
    Из прочитанного понял что обьект не должен быть маленький, и "... преобразования Хафа на зашумленных изображениях затруднено". Допустим, у меня есть рисунок с травой, а искомый обьект будет текст, естесственно того же цвета, размера, стиля, шрифта. Если цвет обьекта уникален, я могу отфильтровать картинку и оставить только искомый цвет на белом фоне к примеру. Получится ли тут применить метод Хафа?
  • DVM © (03.11.10 14:54) [3]

    > а искомый обьект будет текст

    до этого были же прямоугольники.


    > Получится ли тут применить метод Хафа?

    Он для поиска прямых предназначен и как следствие отрезков и прямоугольников. Для текста есть другие методы.
  • DVM © (03.11.10 14:55) [4]

    > capirurso

    Ты бы описал задачу точно, а не приблизительно, тогда может я бы и подкинул метод наиболее часто используемый для данной задачи.
  • capirurso (03.11.10 15:13) [5]
    ОК, детальней. Мне нужно делать снимок экрана(т.е. определенных областей) во время игры, узнавать кол-во НР, узнавать с какими мобами идет бой, какое оружие используется в тек момент. И многие другие вещи. Все это нужно сделать имеено сканированием картинки, ибо саму игру трогать нельзя, имею в виду к апи игры нельзя ссылаться. Распознатие картинки должно работать быстро по крайней мере надо уложиться в 1 ход, а это минута.
  • capirurso (03.11.10 15:16) [6]
    На счет OpenCV, очень понравились примеры, особенно распознатие частей лица в риал-тайм с камеры. Но не нашел сборок для делфей. Они существуют?
  • DVM © (03.11.10 15:29) [7]

    > Они существуют?

    Да, заголовочные файлы к OpenCV у меня есть. Напомни мне на почту (она в профиле) я вышлю
  • capirurso (03.11.10 15:34) [8]
    Ок. напомнил)) Если есть примеры, буду благодарен)
  • DVM © (05.11.10 19:40) [9]

    > capirurso

    ты письмо то получил? на всяк случай тут заголовочные файлы для OpenCV.
    http://narod.ru/disk/27000267000/OpenCV.zip.html

    Это для первой версии ее. DLL там в комплекте, пересобранная из трех в одну.
    Для второй версии тоже есть заголовочные файлы, но они недоделанные.
  • capirurso (02.12.10 02:11) [10]
    Спасибо за файлы, есть пару идей на счет OpenCV которые буду реальзовывать в будущем. А текущую задачу решил другим способом, у каждого обьекта есть свои уникальные пиксели. По ним и нахожу расположение обьекта. Все устраивает, работает быстро и без проблем. Спасибо за внимание.
  • reallyman © (09.09.13 00:17) [11]
    Вариантов решения много.
    ________________________
    http://www.MoscowTransport.ru/zakaz_mikroavtobusa_na_svadbu.php
 
Конференция "Media" » Распознать обьекты [D7]
Есть новые Нет новых   [120394   +46][b:0][p:0]