аналих картинки: нахождение нужных объектов

Тема в разделе "WASM.A&O", создана пользователем Sickboy, 20 май 2008.

  1. Sickboy

    Sickboy New Member

    Публикаций:
    0
    Регистрация:
    30 мар 2008
    Сообщения:
    30
    Здавсивуйте. Такая у меня проблема возникла. Иметтся картинка, в ней 2 цвета, белый либо чёрный. На белом фоне изображены цифры, 4, 7, 6, 8 либо 2. Нужно узнать какаие именно цифры изображены и сохранить в текстовый блокнот. К примеру указано число 46, надо чтобы програма узнала это число и сохранила в .txt. Если можно то на C++, но от друших вариантов тоже не откажусь) Помогите, 2 урока пытались сделать не получилось, может у вас будут какие идеи.
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    задай эталонные картинки цифр и сравнивай.
    это в самом простейщем варианте.
    если нужно что-то сложное то гляди в сторону одной из тем, там как раз упоминались неплохие книжки.
     
  3. Sickboy

    Sickboy New Member

    Публикаций:
    0
    Регистрация:
    30 мар 2008
    Сообщения:
    30
    стили цифр разные используются, может быть наклонена, или написана по другому, вложил пример. правда это я в пэинте побыстрому, но принцип такой. "гляди в сторону одной из тем, там как раз упоминались неплохие книжки." Какая это тема?
     
  4. Sickboy

    Sickboy New Member

    Публикаций:
    0
    Регистрация:
    30 мар 2008
    Сообщения:
    30
    хотябы идею подскажите на что опереться можно)
     
  5. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Вряд ли распознаватель капчи тебе кто-нибудь вот так запросто выложит.
     
  6. Sickboy

    Sickboy New Member

    Публикаций:
    0
    Регистрация:
    30 мар 2008
    Сообщения:
    30
    Хотябы идею подскажите, как ожно такое реализовать. Я так прикинул, может по траектрии можно линий можно узнать, к примеру цифра четыре, у нее опред. кол-во углов, или поворотов линии, и "повороты" эти имеют опред. направление, можно создать базу траекторий и потом сранивать полученное с базой. Также еще пришла мысль чтобы форму определить, пока не знаю как правда. По шаблону не то, т.к стили разные, наклон и т.д и програма должна определять форму объекта. Но это всё на теории. Пробовал искать, но полезного мало, накнулся где знимается группа распознаванием рклписного текста, но врядли они поделятся, форум бы где просто идеями делятся и пытаются создать такое. Если кто знает где такой проблемой серьёзно занимаются скиньте сслычку плз, такая проблема наверняка актуальна.
     
  7. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Если есть замкнутая линия то можно сделать разложение фурье. коэфициенты взять по модулю и поделить на 0 элемент. Тогда мы получим признаки инвариантные(незавищущие) от поворота и маштаба а также положения.

    Можно представить изоброжения чисел ввиде графа. И вычислеть растояние между графам эталона и того что получили.

    Есть еще скрытые марковские процессы. Это из облости нейронных ситей.

    И.т.д.
     
  8. Sickboy

    Sickboy New Member

    Публикаций:
    0
    Регистрация:
    30 мар 2008
    Сообщения:
    30
    Про нейроные сети скачал, но исходники на делфях тока. Еще пару програм из серии рпостых. А вот поподробнее про фурье и прдставления ввиде графа можно? если есть ссылочка где про это подробно не откажусь)
     
  9. drmad

    drmad New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    332
    Адрес:
    Russia
    Вот здесь http://drmad.chat.ru/G5.zip описаны разные способы распознавания символов. Имхо, "метод гистограмм" (идея впервые упомянута в ж-ле Монитор за 1995 год), гораздо проще, чем нейросети, но весьма неплох. Устроит?
     
  10. dag

    dag New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    446
    у CuneIForma исходники открыты уже несколько месяцев http://www.cuneiform.ru/ , тамже есть на статьи и работы разные научные по распознаванию найти ... вобщем всё сводиться к построению и обучению нейроной сети
     
  11. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    drmad Архив битый =(
     
  12. botmen

    botmen Member

    Публикаций:
    0
    Регистрация:
    2 сен 2007
    Сообщения:
    43
    Врядли OCR здесь поможет. Оно предполагает отсутствие участков текста, но не полное его искажение.
     
  13. botmen

    botmen Member

    Публикаций:
    0
    Регистрация:
    2 сен 2007
    Сообщения:
    43
    Звините (посмотрел рисунок). А вообще я о капче.
     
  14. botmen

    botmen Member

    Публикаций:
    0
    Регистрация:
    2 сен 2007
    Сообщения:
    43
    Рукописный текст распознать сложнее. Можно подобрать шрифт и создать эталонные изображения символов. Сравнивать их, учитывая поворот и смещения участков изображения.
     
  15. drmad

    drmad New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    332
    Адрес:
    Russia
    Пофиксено. Сцылка прежняя.
     
  16. SWR

    SWR New Member

    Публикаций:
    0
    Регистрация:
    11 май 2006
    Сообщения:
    226
    Адрес:
    Russia
    Есть библа OpenCV вней можно взять файнКонтур и результат её онализировать.
    Или картинку (одной цифры) разбить на квадратики и смоьреть её заполнение (у разных цифр будет разное соотношение и местоположение (задача оптимизации))
     
  17. Max

    Max Member

    Публикаций:
    0
    Регистрация:
    22 май 2003
    Сообщения:
    192
    drmad
    а че это за книжка?
    хотелось бы и все остальное почитать
     
  18. Sickboy

    Sickboy New Member

    Публикаций:
    0
    Регистрация:
    30 мар 2008
    Сообщения:
    30
    Спасибо всем за ответы, есть над чем поработать. Кстати цифры будут именно такого формата.
     
  19. Sickboy

    Sickboy New Member

    Публикаций:
    0
    Регистрация:
    30 мар 2008
    Сообщения:
    30
    Появилась идея, может и бредовая. По сути, в кждам из чисел есть углы или "повороты". К примеру из первого выложенного мною рисунка, в одной из "4" 10 углов, во втором виде четвёрок их тоже лтбо 10-11, либо 6 как и у семёрки. В общем помимо этого мне еще надо както рапознавать прямая это или дуга. Допустим число 4 и 7, тут их таким способом легко распознать друг от друга. Но допустим число 6 или 2, или 8 которые в оснвном из дуг состоят. Идея заключается в том, что какбы по одному пикселю я двигаюсь по гранце числа, в случае с 4 и 7 ие места где прямая преломится, будут разные. Надо узнать, двигаюсь я по прямой или по дуге. Не думаю что это сильно сложно, прост никогда с таким не сталкивался. Помогите это реализовать это выскажите свои мнения.
     
  20. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Sickboy
    Угол, кривая, прямая. Определить не очень сложно.

    Посмотри в сторону Harris corner detector
    Он позволит построить пространство которое будет определять угол, прямая или заполненный регион.
    Кривая это что-то среднее между углом и прямой.

    За одно посмотри "Дескрипторы фурье" для описания замкнутых контуров.
    А также сравнение эластичных графов.