Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2009, 20:43   #1
Lemo
Форумчанин
 
Аватар для Lemo
 
Регистрация: 13.10.2008
Сообщений: 714
Радость Распознавание картинок!

Ребята такой вопрос:
Возможно написать програмку которая бы распознавала такие картинки
(прикрепленный файл)! Заранее спасибо за мысли!
Изображения
Тип файла: png Безымянный.png (5.1 Кб, 276 просмотров)
Lemo вне форума Ответить с цитированием
Старый 12.03.2009, 20:53   #2
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Переводить рисунок в пиксельный массив и сравнивать с эталонными массивами .
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 12.03.2009, 20:59   #3
Lemo
Форумчанин
 
Аватар для Lemo
 
Регистрация: 13.10.2008
Сообщений: 714
Радость

а можно немного кода? Не понимаю о чем идет речь!
Lemo вне форума Ответить с цитированием
Старый 12.03.2009, 21:53   #4
eskander
Пользователь
 
Аватар для eskander
 
Регистрация: 01.03.2009
Сообщений: 29
По умолчанию

Процент распознавания будет крайне низким, но это возможно. Сейчас пишу об этом статью) Вам необходимо создать и обучить нейросеть. Расскажу как это делаю я:
1. Обрабатываем картинку удаляя "шум" и всевозможные помехи.
2. "режем" картинку на буквы, переводим буквы в массив "входов" и "выходов" нейросети.
3. Создаем базу знаний для нейронной сети.
4. Обучаем нейросеть (я пользуюсь Neuro PRO).
5. Проводим вербализацию.
6. Реализуем вербально описанную сеть на любом языке.
Все это долго, все это сложно, сейчас процент распознавания (похожих капчей) ~2%, но это только лишь из-за малого количества примеров, сети не на чем учиться...
Проще уж пользоваться сервисами типа AntiCapcha.
eskander вне форума Ответить с цитированием
Старый 12.03.2009, 22:04   #5
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Объявить массивы с размером ссответствующим размеру рисунка.Каждому зталонному рисунку соответствует свой массив и массив для сравниваемого рисунка.Например если рисунок 100 х 50 пикселей, то
Код:
var
   mas_etal_1,...,mas_etal_n: array [0..100,0..50];
   mas_pic : array [0..100,0..50];
далее создаем буферы типа TBitMap и загружаем в них эталонные рисунки и сравниваемый.В цикле считываем пиксели из соответствующего буффера в соотв. массив.
Далее сравниваете поэлементно mas_pic[i,j] с каждым эталонным массивом .При первом же несовпадении переходим к следующей проверке и т.д.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 12.03.2009, 22:08   #6
eskander
Пользователь
 
Аватар для eskander
 
Регистрация: 01.03.2009
Сообщений: 29
По умолчанию

DeKot ваш метод подходит только для ИДЕАЛЬНЫХ букв, сейчас капчей таких и не найти...

Последний раз редактировалось eskander; 12.03.2009 в 22:12.
eskander вне форума Ответить с цитированием
Старый 12.03.2009, 22:51   #7
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Судя по репликам ув.Lemo системы с нейросетями для него будут темный лес (ни в коей мере не хочу кого то обидеть.Если ошибаюсь - искренне рад).Следовательно вряд ли он сможет практически исполнить свой вопрос.Поэтому я и пытаюсь пояснить человеку простой способ реализации, хотя бы для обучения.А в капчах принцип то не программно считать рисунок, а визуально и затем вписать в поле ввода
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 12.03.2009, 23:01   #8
JekaX
Пользователь
 
Регистрация: 11.03.2009
Сообщений: 38
По умолчанию

Цитата:
Сообщение от eskander Посмотреть сообщение
Процент распознавания будет крайне низким, но это возможно. Сейчас пишу об этом статью) Вам необходимо создать и обучить нейросеть. Расскажу как это делаю я:
1. Обрабатываем картинку удаляя "шум" и всевозможные помехи.
2. "режем" картинку на буквы, переводим буквы в массив "входов" и "выходов" нейросети.
3. Создаем базу знаний для нейронной сети.
4. Обучаем нейросеть (я пользуюсь Neuro PRO).
5. Проводим вербализацию.
6. Реализуем вербально описанную сеть на любом языке.
Все это долго, все это сложно, сейчас процент распознавания (похожих капчей) ~2%, но это только лишь из-за малого количества примеров, сети не на чем учиться...
Проще уж пользоваться сервисами типа AntiCapcha.
А как вы режите картинку на буквы, если в нормальных каптчах буквы пересекаются?
JekaX вне форума Ответить с цитированием
Старый 12.03.2009, 23:15   #9
eskander
Пользователь
 
Аватар для eskander
 
Регистрация: 01.03.2009
Сообщений: 29
По умолчанию

Вообще пытаюсь отделить буквы друг от друга не только вертикальными линиями но и наклонными (30град, 45град, 60град). Ну и если не получается - обрабатываю буквы парами.
eskander вне форума Ответить с цитированием
Старый 13.03.2009, 10:03   #10
Lemo
Форумчанин
 
Аватар для Lemo
 
Регистрация: 13.10.2008
Сообщений: 714
Радость

Прочитал все посты и понял, что "слишком делеко я загнул палку" для начинающего=) Ну спасибо за мысли!
Lemo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Распознавание четных чисел Demigoddess Общие вопросы C/C++ 3 11.03.2009 21:43
Распознавание(обнаружение) лиц на фотографии Бзик Мультимедиа в Delphi 4 18.02.2009 23:15
Распознавание простейших геометрических фигур DropYourWeapon Паскаль, Turbo Pascal, PascalABC.NET 0 10.01.2009 22:32
Распознавание ф-ций вводимых в Edit ? chandrasecar Общие вопросы Delphi 5 02.11.2008 10:58
Как сделать распознавание строки? Dimo444ka Общие вопросы Delphi 8 01.02.2008 22:14