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

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

Всем привет)

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

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

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

recognition.rar

Последний раз редактировалось AtomoS; 23.11.2015 в 17:14.
AtomoS вне форума   Ответить с цитированием
Старый 24.11.2015, 05:15   #2
Simply-Art
Ведущий инженер и
СуперМодератор
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Адрес: Где-то в России
Сообщений: 1,213
Репутация: 473

icq: 6943254
По умолчанию

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

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

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

Последний раз редактировалось IliaIT; 24.11.2015 в 10:06.
IliaIT вне форума   Ответить с цитированием
Старый 24.11.2015, 10:30   #4
min@y™
Цифровой кот
Профессионал
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Адрес: 1600, пенсильвания-авеню, п.г.т. верхний Вашингтонск, 8126 км от МКАД, от поста ГАИ - налево.
Сообщений: 7,664
Репутация: 2449

icq: 100500
skype: kick-ass
По умолчанию

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

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

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

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

icq: 100500
skype: kick-ass
По умолчанию

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

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

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

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

skype: forwardbiznes
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


06:53.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.