Рекламодатель: АО «Топ Системы»

ИНН 7726601967 ОГРН 1087746953557

Рекламодатель:
ООО «С3Д Лабс»

ИНН 7715938849 ОГРН 1127747049209

5 - 2003

Ввод сканированных документов в электронный архив предприятия

Алексей Рындин

Сканирование

Повышение качества изображений

Работа с цветными изображениями

Распознавание штампа. Индексация

Приемники данных

Контроль качества распознавания

Пакетная обработка

Распознаваемое и нераспознаваемое. Что делать?

Зачем нужен CSRasrer

Решения с использованием компонента CSRaster

Давно известно, что при создании систем электронного архива и документооборота недостаточно регистрировать только те документы, которые изначально разрабатываются в электронном виде: несмотря на бурное развитие информационных технологий, на бумажных носителях и сейчас хранятся огромные объемы технической, инженерной и технологической документации.

Мы уже не раз и достаточно подробно рассказывал и о принципах работы с такими документами, позволяющих не отказываться от многолетних наработок, а использовать их, к примеру, в новых САПР-проектах. Всё просто: сканируем документы, повышаем их качество при помощи, скажем, программы Spotlight, а затем вводим эти документы в систему электронного архива и документооборота. Такой документ можно использовать в дальнейших разработках, вносить необходимые изменения, добавлять в архив новые версии и т.д. Не будем подробно останавливаться на всех тонкостях, кроме, пожалуй, одного момента…

Рассмотрим детальнее процесс ввода отсканированного документа в систему электронного архива (документооборота). Стандартная процедура здесь выглядит так: заполнить поля электронной карточки сканированного документа, указать файл изображения и нажать соответствующую кнопку. Но теперь представьте, что в вашем бумажном архиве сотни тысяч, а то и миллионы единиц хранения! Обычная технология регистрации документа, предоставляемая стандартной системой архива, сразу оказывается чрезвычайно громоздкой, требует невероятных временных затрат.

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

RasterID 2.0 предназначен именно для решения таких задач.

Теоретически для автоматизированного ввода нужно не так уж и много:

• система архива и документооборота должна поддерживать запись информации о файле документа в виде ссылки на внешний ресурс;

• необходим экспорт в систему документооборота всей информации о документах — либо напрямую при помощи дополнительных механизмов системы архива, других внешних приложений, СУБД или ODBC, либо через промежуточный формат *.xls, *.dbf и т.д.

Итак, распознаем в автоматическом режиме необходимые записи штампа (при помощи модуля распознавания текста) и экспортируем эту информацию в базу данных или в систему документооборота.

Вот только… не все так очевидно. Основная проблема в том, что надписи в штампах выполнены, мягко говоря, не по ГОСТу. Значит, и вероятность безошибочного распознавания подобных надписей не так высока, как хотелось бы. Что делать? Революционность RasterID 2.0 и заключается в механизмах решения подобных проблем. Но об этом чуть позже, а сейчас — о возможностях программы.

Сканирование

В RasterID 2.0 реализован механизм работы с любым сканирующим оборудованием.

Модуль WiseScan — это все, что необходимо для удобного, быстрого и интеллектуального сканирования на всех моделях сканеров Contex. Доступны автоопределение размера сканируемого оригинала, режим предварительного сканирования, точная настройка параметров цветного и монохромного сканирования, пакетное сканирование, автоименование документов по заданной маске (с возможностью включения информации из распознанных полей).

К отсканированным изображениям можно применять предварительно заданную последовательность действий, включающую возможности распознавания штампа, проверки информации и ее экспорта во внешнюю базу данных.

Виртуальный сканер — при работе с некоторыми сканерами или инженерными системами (Xerox, KIP, Ocе` и др.) есть возможность виртуального сканирования. Требуется только указать папку, в которой сохраняются сканированные изображения, и составить сценарий обработки, после чего RasterID с установленной вами периодичностью обращается к данной папке и применяет указанную последовательность действий ко всем появляющимся там файлам.

RasterID также обеспечивает прямую поддержку сканеров с TWAIN-интерфейсом.

В начало В начало

Повышение качества изображений

Думаю, если вы хоть раз видели отсканированную синьку, вас не придется убеждать, что качество таких изображений далеко от идеального. Пакет RasterID 2.0 предоставляет различные возможности повышения качества сканированных документов: он позволяет удалять «мусор», заливать «дырки», сглаживать растровые линии, устранять возникающие при сканировании перекосы, обрезать пустые поля и т.д. С помощью операций коррекции изображений по четырем точкам рамки устраняются искажения и корректируется размер самого изображения. Эти и многие другие инструменты в автоматическом (пакетном) режиме могут использоваться параллельно с процессом сканирования или применяться к указанному набору ранее отсканированных изображений.

В начало В начало

Работа с цветными изображениями

Нужно ли работать с цветными изображениями в архиве технической документации? Опыт показывает, что да. К примеру, монохромное сканирование материалов невысокого качества (тех же традиционных российских синек) не приносит желаемого результата: в подобных случаях лучше отсканировать изображение в режиме Gray Scale (256 градаций серого), а затем произвести обработку, повышающую качество. После обработки вы можете сохранить изображение как монохромное или оставить его как есть (Gray Scale).

Кроме того, все чаще появляются цветные чертежи, которые были получены при печати проектов, выполненных в САПР. Эти документы удобнее сканировать и нагляднее представлять в цвете.

RasterID располагает множеством средств обработки цветных изображений, среди которых инструменты коррекции яркости/контрастности, уровней, палитры, гамма-коррекции, фильтры размытия, контурной резкости, усреднения. Полноцветное изображение может быть приведено к индексированной палитре или преобразовано в градации серого. Есть возможность разделять цветное (серое) изображение на монохромные слои при помощи специальных процедур: бинаризации, уменьшения количества цветов, разделения по цветам.

Если все перечисленные возможности будут предоставлены квалифицированным и хорошо обученным специалистам, получение изображений отличного качества гарантировано.

В начало В начало

Распознавание штампа. Индексация

Остановимся на функциях поиска штампа на чертеже, распознавания надписей в его полях и экспорта полученной информации.

Программу нужно обучить распознаванию штампа. Процедура проста: достаточно обвести штамп прямоугольником и, если необходимо, отредактировать распознанную топологию. Далее следует указать те поля, которые содержат необходимую информацию, задать им имена и сохранить темплет. Темплеты нужно создать для всех различных по топологии штампов.

При распознавании указанные поля углового штампа записываются в ячейки таблиц приемников данных. Кроме того, и это очень важно, в одно из полей может передаваться графический фрагмент (картинка) углового штампа, что в дальнейшем значительно упрощает проверку достоверности распознанных данных.

О распознавании надписей: пакет RasterID может работать как с внутренним OCR-модулем, так и с OCR-модулем FineReader Pro 5.0. Разумеется, процесс распознавания нуждается в контроле.

В начало В начало

Приемники данных

RasterID является открытой системой: при помощи стандартных способов программирования может быть создан модуль экспорта, обеспечивающий прямую передачу распознанных данных из полей углового штампа в архивную систему пользователя.

Вместе с RasterID поставляются модули экспорта данных в MS Excel, MS Access, текстовый файл с разделителями; поддерживается передача данных при помощи механизма ODBC. Большинство современных СУБД имеет встроенные механизмы экспорта и импорта, позволяющие «пакетно» импортировать файлы перечисленных стандартных форматов в формат таблиц СУБД (например, Data Transformation Services Wizard, поставляемый с MS SQL Server).

Промежуточный формат также может быть экспортирован при помощи механизмов самой системы архива или других внешних приложений.

Поскольку одним из полей приемника данных является ссылка на файл документа, необходимо, чтобы архивная система работала по ссылке с файлами документов, хранящимися на внешнем ресурсе.

В начало В начало

Контроль качества распознавания

Не будем строить иллюзий и утверждать, что распознать можно все. Качество распознавания в первую очередь зависит от подлинника: распознать печатный текст проще, чем написанный пусть даже строго по ГОСТу, но от руки. А если текст составлен не по ГОСТу или само изображение крайне низкого качества? Для таких случаев в новой версии пакета предусмотрены встроенные механизмы контроля качества распознавания.

Способ контроля зависит от приемника, в который были экспортированы данные. При экспорте данных в MS Excel для контроля передается фрагмент растра, содержащий штамп. В MS Access используется специальный модуль проверки качества. Если штамп распознается из программы напрямую, для контроля служит диалог Редактирование распознанных данных: он появляется после того, как команда Распознать штамп завершила распознавание.

В любом случае контролировать распознавание удается весьма эффективно.

В начало В начало

Пакетная обработка

Все упомянутые выше возможности RasterID могут применяться в автоматическом (пакетном) режиме: программа предлагает мощный и простой в использовании механизм создания командных файлов.

Метод drag-and-drop позволяет сформировать код командного файла, просто перетаскивая мышью нужные команды.

Затем в мастере пакетных заданий указываются каталог, папки или отдельные файлы отсканированных изображений, назначается соответствующий командный файл — и можно идти отдыхать, так как остальное RasterID сделает сам.

В начало В начало

Распознаваемое и нераспознаваемое. Что делать?

Поговорим о вещах банальных, но неизбежных. Что делать, если, как уже сказано, текст в угловом штампе выполнен явно не по ГОСТу? Можно ли повысить вероятность безошибочного распознавания, к примеру, децимального номера документа? Или расширить функционал RasterID в других случаях? На этих вопросах стоит остановиться подробнее.

Самые продвинутые читатели, думаю, давно знакомы с технологией ActiveX. Для тех же, у кого это знакомство еще впереди, приведем неоспоримый факт: существуют компоненты ActiveX, которые могут инсталлироваться, в любую среду объектно-ориентированного программирования, например VB, Visual C++, Delphi.

В дистрибутив пакета RasrerID входят ActiveX-компонент CSRaster и руководство разработчика.

В начало В начало

Зачем нужен CSRasrer

Революционность подобного решения в том, что ActiveX-компонент располагает всеми свойствами, методами и функциями, необходимыми для создания любых приложений на основе функционала RasterID. Другими словами, если вам недостаточно тех функций, которые предоставляет стандартная версия пакета RasterID и при этом вы имеете навыки программирования, то вам по силам самому создать требуемый функционал.

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

В начало В начало

Решения с использованием компонента CSRaster

Условие этой задачи актуально для большинства предприятий: необходимо создать часть электронного архива на основе 600 тыс. сканированных документов. Все документы имеют угловой штамп и сделанные вручную надписи. Ключевым полем является децимальный номер документа. Условия хранения и состояние исходных документов, мягко говоря, неважные.

Требуется максимально повысить вероятность правильного распознавания децимального номера при автоматическом вводе информации в СУБД.

Использование экспорта в ODBC без проверки результатов распознавания недопустимо: велика вероятность внесения неверной информации. Однако «вручную» проверять все 600 тыс. записей не слишком-то продуктивно…

Итак, возможное решение.

Используем механизмы среды программирования для инсталляции ActiveX-компонента. Применяя указанные в руководстве разработчика свойства и методы, несложно создать приложение с необходимым функционалом. Из всего функционала требуется выбрать только то, что необходимо для решения конкретной задачи — распознавания штампов и создания файла, содержащего результаты распознавания. На этой стадии совсем неважно, какой именно приемник данных выбрать: можно использовать MS Excel, а можно, например, ODBC. В первом случае при дальнейшем решении задачи будет использован механизм экспорта/импорта в СУБД MS SQL Server (Data Transformation Services Wizard). Каким путем идти, зависит, наверное, от более конкретно сформулированной задачи и еще от технологии обработки, выбирать которую только вам.

Следующий шаг — написание недостающего функционала. Не будем подробно рассматривать строки кода на Паскале, а опишем только логику. Создаваемое приложение должно распознать поля углового штампа и проверить качество распознавания. Я применил следующую схему: задаются критерии (алгоритмы) проверки, включающие правила нахождения символов в различных позициях полей штампа. Почему именно так? Во-первых, эта логика наиболее приемлема при проверке правильности распознавания децимальных номеров, которые, по сути, являются ключевым полем в описании документа. Во-вторых, существует вполне определенная логика составления децимального номера документа, порядка расположения в нем символов. В-третьих, язык Transact SQL позволяет описывать эту логику в тексте запроса.

Помимо запроса, содержащего логику нахождения какого-либо символа в той или иной позиции, дописываемый функционал, конечно же, должен содержать средства вывода запроса (тех записей, которые не удовлетворяют описанному алгоритму проверки). Плюс к этому необходимо создать средство сравнения информации, хранящейся в поле СУБД (результат распознавания), и реальной информации, которая содержится на растровом изображении. Здесь, конечно, сравнение придется проводить «вручную». Также необходимо средство редактирования выявленных в полях СУБД несоответствий.

А теперь вернемся к условию задачи. Мы получили средство распознавания углового штампа 600 тыс. растровых изображений. Кроме того, созданная программа позволяет выводить и редактировать все записи о неверных результатах распознавания. Полностью избежать «ручной» работы не удалось, но поскольку число неправильных результатов гораздо меньше общего количества документов, то можно утверждать, что эта работа сведена к минимуму.

Конечно, это всего лишь один пример (правда, весьма неплохо работающий). Возможно, перед вами будут стоять совсем другие задачи, связанные с распознаванием угловых штампов, с пакетной обработкой растровых изображений и созданием электронных архивов. Приведенный пример доказывает, что при использовании пакета RasterID эти проблемы могут быть решены. Вид приложения, созданного в среде Delphi с использованием компонента CSRaster и описанного выше, приведен на рисунке слева внизу.

В начало В начало

«САПР и графика» 5'2003

Регистрация | Войти

Мы в телеграм:

Рекламодатель:
ООО «Нанософт разработка»

ИНН 7751031421 ОГРН 5167746333838

Рекламодатель: АО «Топ Системы»

ИНН 7726601967 ОГРН 1087746953557