Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi > Общие вопросы Delphi
Регистрация

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 23.11.2015, 16:11   #1
AtomoS
 
Аватар для AtomoS
 
Регистрация: 04.07.2009
Сообщений: 7
Печаль Распознавание номера военного билета

Всем привет)

Пытаюсь реализовать распознание номера на скане военного билета, процесс в целом представляю:
  1. Загрузить картинку
  2. Отрезать всё лишнее
  3. Избавиться от ненужных цветов
  4. Определить область с номером
  5. Определить угол наклона надписи
  6. Выровнять её
  7. Выделить цифры/буквы
  8. Распознать (:

На данном моменте часть функционала реализовал, но никак не могу понять как выделить ту самую нужную мне область..
Подскажите как это сделать?

p.s: исходные коды и примеры сканов ниже
p.s.s: буду рад увидеть советы по улучшению алгоритма фильтрации

recognition.rar

Последний раз редактировалось AtomoS; 23.11.2015 в 16:14.
AtomoS вне форума Ответить с цитированием
Старый 24.11.2015, 04:15   #2
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,226
По умолчанию

Области вроде как искать надо следующим образом:
Делаем контрастным нужный нам цвет, постепенно отсекая все не нужные (тут хорошо, номер красный).
Далее ищем последовательность повторяющихся красных "прямоугольников".
Ну и выравниваем картинку (алгоритмом поворота) определив левую верхнюю и правую нижнюю точку номера и вписав его в прямоугольник.
Какое наслаждение делать невозможное.
Автор: Уолт Дисней.
Сайт начинающего программиста
Simply-Art вне форума Ответить с цитированием
Старый 24.11.2015, 08:58   #3
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 979
По умолчанию

а ещё где то пользовали плагин файнридера для распознования графического фрагмента.
с офф сайта.
http://www.abbyy.ru/finereader-engin...specification/

или возможно готовое решение. но надо проверять под ваши задачи, хотя по сути военный билет он однотипный и похож на визитку.
http://www.abbyy.ru/bcr-windows/?_ga...32#prettyPhoto
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.

Последний раз редактировалось IliaIT; 24.11.2015 в 09:06.
IliaIT вне форума Ответить с цитированием
Старый 24.11.2015, 09:30   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,664
По умолчанию

а как эта твоя прога будет использоваться на практике? Какие телодвижения должен будет делать попка (юзер), сидящий за компом?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 24.11.2015, 12:32   #5
AtomoS
 
Аватар для AtomoS
 
Регистрация: 04.07.2009
Сообщений: 7
По умолчанию пояснения

Цитата:
Сообщение от Simply-Art Посмотреть сообщение
Делаем контрастным нужный нам цвет, постепенно отсекая все не нужные (тут хорошо, номер красный)
В данный момент так и сделал, мусора очень мало, но всё ровно сложно понять как найти ту самую искомую область (она может быть как справа, так и слева)

Цитата:
Сообщение от IliaIT Посмотреть сообщение
Возможно готовое решение. но надо проверять под ваши задачи, хотя по сути военный билет он однотипный и похож на визитку.
Сторонние решения хорошо, но нужно обойтись без них(

Цитата:
Сообщение от min@y™ Посмотреть сообщение
А как эта твоя прога будет использоваться на практике? Какие телодвижения должен будет делать попка (юзер), сидящий за компом?
Практика проста - распознать все документы в каталоге и занести в файл output.txt.
Движения пользователя сведены к 0 - запустить программу и уйти.
AtomoS вне форума Ответить с цитированием
Старый 24.11.2015, 12:38   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,664
По умолчанию

Цитата:
Практика проста - распознать все документы в каталоге и занести в файл output.txt.
Движения пользователя сведены к 0 - запустить программу и уйти.
То есть все военники уже отсканены и покладены в каталогЪ?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 24.11.2015, 13:03   #7
AtomoS
 
Аватар для AtomoS
 
Регистрация: 04.07.2009
Сообщений: 7
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
То есть все военники уже отсканены и покладены в каталогЪ?
Верно сударь К тому же они совсем новые - очень мало дефектов на бумаге)
AtomoS вне форума Ответить с цитированием
Старый 24.11.2015, 17:43   #8
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,728
По умолчанию

Мне кажется чем сканировать, быстрее было бы просто переписать номера военников.
FaTaL вне форума Ответить с цитированием
Старый 24.11.2015, 23:24   #9
AtomoS
 
Аватар для AtomoS
 
Регистрация: 04.07.2009
Сообщений: 7
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
Мне кажется чем сканировать, быстрее было бы просто переписать номера военников.
Вам неправильно кажется.. На каждый военник идёт 2 файла (2 страницы), соответственно работа оператора увеличивается в двое. Плюс ко всему объём - надо распознать 100 а то и 500 военников, вот и представьте как это быстро сделает человек, и ещё сколько ошибок допустит..
AtomoS вне форума Ответить с цитированием
Старый 25.11.2015, 07:00   #10
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,978
По умолчанию

А кто мешает воспользоваться Финеридером? Он и сканирует и распознаёт и некоторые ошибки сам исправляет. Ручной работы минимум остаётся.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Олимпиадная задача. Выигрышные сертификаты (выиграли номера, явлющиеся простыми числами и номера, не содержащие повторящихся цифр) LancerRiker Паскаль, Turbo Pascal, PascalABC.NET 4 08.11.2014 18:22
Распознавание номера автомобиля anna01 Помощь студентам 8 09.06.2014 00:01
Заменить отрицательные элементы суммой номера столбца и номера строки, в которых они находятся gylayko Помощь студентам 5 31.03.2012 17:20
Процедура должна выводить сумму при вводе номера, но кроме суммы выводит еще что такого номера нет yohurt Помощь студентам 1 09.01.2012 06:35
Создание билета temperus Помощь студентам 2 25.11.2011 02:00


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS