Вернуться к разделу "Материалы по сканированию и оцифровке бумажных книг".
Итак: перед вами взятая у приятеля, из библиотеки, или просто хорошая, интересная книга, которую хотелось бы иметь на компьютере. И не просто иметь, а иметь в таком виде, который позволил бы выполнять поиск по тексту, удобно читать книгу на экране монитора или на устройствах eBook, а если это не научно-техническая или справочная литература - еще и читать на любимом сотовом телефоне, iPhon'е или PDA. В этом пошаговом руководстве, основанном на собственном опыте, я постараюсь рассказать о том, как "выжать" максимум результатов из проделанной простой, но иногда весьма утомительной работы по сканированию книги.
Пусть вас не испугает длина этого руководства и кажущаяся сложность сканирования и обработки книги. Процесс действительно довольно сложен и многоступенчат, но поверьте мне, описать все эти операции было гораздо труднее, чем выполнить их шаг за шагом. Итак, поехали!
Сканирование, с которого начинается зачастую долгий путь "в Сеть" любой изданной когда-либо книги (рынок легальных электронных книг, размещаемых издателями непосредственно после электронной верстки, у нас совершенно неразвит) - это самая монотонная часть всей предстоящей работы, поэтому к ней стоит тщательно подготовиться заранее - протереть стекло сканера, проверить наличие свободного места на диске - несжатый скан одной средней по размеру книги может занимать до 1 Гбайт. Потом начинается собственно сканирование.
Я намеренно не привожу здесь сравнительных характеристик разных моделей сканеров, поскольку каждый из нас в подавляющем большинстве случаев располагает только одним сканером, характеристики которого более или менее хорошо известны.
Plustek OpticBook: преимущества и недостатки | |
Из всех сканеров,
имеющихя на рынке, для сканирования книг в
больших количествах нет ничего лучше серии PlusTek
OpticBook. Эти планшетные сканеры отличаются высоким
корпусом и прозрачным основанием, выполненным
"в край" - так, чтобы на него можно было
уложить книгу, не ломая и не деформируя корешок.
Такой сканер - идеален для перевода в электронный
вид десятков томов, например из библиотеки
университетской кафедры. Однако, для домашнего
повседневного применения он практически
непригоден. Причина этого - в сугубой
специализированности устройства под
"книгосканирование" и OCR. В конструкции PlusTek
OpticBook в жертву быстродействию и разрешению
принесено все, что только можно, включая
четкость, избирательность и цветопередачу . |
Сканирование всех своих книг я проводил и провожу на достаточно старом (2003 года выпуска) полупрофессиональном планшетном сканере для документ-систем Hewlett-Packard ScanJet 6390c. Эта машина отличается высоким быстродействием (15-25 сек на страницу формата А4 в режиме градаций серого). Кроме того, в ее комплект поставки входит удобное программное обеспечение HP Precision Scan Pro. Именно на этой программе сделаны все скрины с примерами сканирования.
Заранее хочу предостеречь от использования в качестве основного инструмента сканирования программы FineReader. Оставим эту программу до стадии OCR. Пока она может лишь максимально усложнить нам задачу пакетной обработки, применив (причем без нашего ведома) свои не слишком хорошие алгоритмы чистки и сжатия сканов. А главное - она практически лишит нас шансов применить важнейший прием - оверсемплинг до разрешения 600 dpi.
Собственно сканирование состоит из трех этапов: сканирования обложки, основной части книги, цветных вклеек и иллюстраций. Последовательно описывать эти этапы нет смысла - они переплетаются друг с другом в зависимости от верстки книги. Стоит привести лишь параметры сканирования, оптимальные для разных типов книжных страниц. Здесь приведу еще одно важнейшее предупреждение(!) - на некоторых очень старых моделях сканеров есть возможность вручную включать внутренний оверсемплинг, то есть фактически сканировать с меньшим разрешением, чем имеет выходной файл. Обозначается такая установка разрешения обычно словом Software или Resampled. Эту установку использовать нельзя! Ее включение приведет в полную негодность полученные файлы, и их дальнейшая обработка окончательно потеряет смысл. Также нельзя использовать установку сканирования в режиме Lineart или Black&White (одноцветный).
Общие рекомендации такие: для текстовых страниц используйте:
Режим Grayscale (оттенки серого), для цветных иллюстраций и обложек - True Color (полноцветный).
Остальные установки можно оставить по умолчанию.
Разрешение сканирования - 300 dpi.
Оптимальные параметры сканирования |
Эти параметры не являются догмой. Они определены опытным путем на нескольких моделях неспециализированных сканеров, и служат ориентировочным целям. Собственный набор оптимальных параметров книгосканирования всегда стоит определить экспериментально, отсканировав любимую книгу со всеми иллюстрациями и обложкой. Приводя эти параметры, я стремился обобщить их для применения на максимальном количестве моделей сканеров. Страница с черно-белым текстом без иллюстраций
Страница с черно-белым текстом и черно-белыми штриховыми (одноцветными) иллюстрациями
Страница с черно-белым текстом и черно-белыми фотографическими иллюстрациями
Страница с черно-белым текстом и цветными иллюстрациями
Цветная обложка или иллюстрация страничного формата
|
Формат выходного файла: Uncompressed (Несжатый) TIFF(!)
Почему не JPEG? |
Формат JPEG для сохранения сканов книжных страниц использовать можно, но не нужно. Во-первых потому, что этот формат даже при включенном сжатии без потерь (Quality = 100) оставляет артефакты в виде "квадратиков". Во-вторых и самых главных: многократное пережатие при сохранении обработанного файла JPEG вновь в "свой" формат за 2-3 цикла обработки приводит изображение в негодность. |
Отдельно коснемся использования сжатого (Compressed или LZW) TIFF: при сохранении сжатого изображения в TIFF можно использовать алгоритмы сжатия: ZIP, LZW (без потерь), JPEG (с потерями). Без хлопот программы распознавания вроде FineReader понимают только JPEG. Со всеми остальными форматами проблемы могут возникать непредсказуемо (например, у меня FineReader 7.0 испытывает устойчивую "идиосинкразию" конкретно к формату сжатия LZW). Поэтому если нет особых проблем с наличием места на диске, лучше всегда использовать несжатый файл.
Итак, сканер включен, программа управления запущена.
У меня это выглядит вот так |
Кладем книгу на предметное стекло сканера таким образом, чтобы охватить обложку (с нее лучше всего начинать сканирование). Включаем предварительное сканирование и настраиваем изображение инструментами программы управления сканером, добиваясь максимального соответствия оригиналу. Когда параметры выставлены, сохраняем переднюю и заднюю страницы обложки в файлы с информативными именами (типа cover_front, cover_back), чтобы потом исключить их из пакетной обработки основной части книги. Отсканировав обложку, вновь кладем книгу на стекло, но уже с открытой первой страницей и форзацем (если сканер имеет форматный фактор на стекле A4 или A4+, книгу с форматом страницы более A5 придется сканировать по одной странице, при этом придется отдельно сохранить форзацы). Предварительное сканирование запускаем еще раз. Параметры теперь нужно выставить таким образом, чтобы добиться хорошей контрастности текста и черно-белых иллюстраций.
Установка области сканирования: область сканирования для книг (особенно при сканировании разворотами) - выставляется с запасом относительно формата книги, чтобы не особенно заботиться в дальнейшем о выравнивании книги на стекле. Это очень ускоряет работу: если не "швырять" книгу на сканер как попало - текст и хотя бы часть полей обязательно попадут в установленную область, а выравнивание изображения можно будет сделать при обработке.
Пример оптимальной установки области сканирования |
Задаем папку для сохранения выходных данных сканера. В зависимости от того, сканируется разворот книги, или одна страница, выбираем имя для первого файла.
Как выбирать имена сканов: личный опыт |
Поработав с
несколькими десятками книг, я пришел к выводу,
что нумерацию файлов со сканами лучше всего
начинать с нуля (например, Scan_000.TIF). Дело
в том, что нумерация страниц в книгах обычно идет
по схеме: Форзац-> Страница 1 (как правило, без номера) -> Страница 2 (данные типографии) -> Прочие страницы. Если сканировать книгу разворотами,
то при нумерации с нуля номер каждого файла будет
в точности равен номеру четной
страницы, разделенному на 2, то есть: |
Как правило, сканы именует сама программа сканирования, когда включен ее пакетный режим. Тогда заботиться об именах вообще не нужно. Однако, у меня автоматическое именование работает (причем плохо) - только когда включен модуль листового сканирования ScanJet ADF. Поэтому я стараюсь давать своим файлам вручную простейшие цифровые имена, набивая их на нумпаде (заодно руки отдыхают от постоянного нажатия Ctrl+S ).
Облегчить себе работу при сканировании - максимально насущная задача. Если сканирование каждого отдельного разворота/листа включается клавишами (например теми же Ctrl+S) - нет проблем. Просто не меняя параметров области сканирования - жмете клавиши еще раз, набираете (или не набираете, если повезло с программой) имя очередного файла - и ждете окончания процесса. Если же без нажатия кнопки мыши не обойтись - ставите курсор на кнопку включения сканирования, и по окончании прохода очередной страницы - щелкаете пальцем по мышке, не сдвигая ее. При этом дожидаться, пока головка сканера вернется в исходное положение - никак не обязательно! Это только замедлит работу.
Описанным способом, в зависимости от быстродействия сканера, на один разворот уходит в среднем 18-25 секунд. То есть, при небольшом навыке можно выйти на "производительность ударного труда" порядка 160-200 разворотов (360-400 страниц) в час! Это значит, что в среднем за пару часов вы способны управиться даже с самыми толстыми томами! Немного усидчивости - и вуаля
Маленькие хитрости |
Крайне желательно,
чтобы программа сканирования имела обновляемые пресеты
установок области и параметров сканирования.
Тогда, не закончив вечером работу над очередным
томом, можно сохранить установки сканера, а потом
- просто загрузить их .
|
В целом, чем проще будет для вас процесс сканирования - тем лучше. Главное для получения хорошего результата - следовать самым простым описанным правилам - получать выходной файл в формате несжатого TIFF, с разрешением 300 dpi. Ну, и само собой разумеется, в готовых файлах вы сами должны быть способны, не напрягаясь, прочитать текст!
После сканирования полученные файлы содержат страницы книги, иногда в довольно неприятном виде, вроде такого:
Смещенные и повернутые относительно друг друга страницы, низкий контраст, нечеткости печати во всей красе, затемненная область у корешка и полей - там, где книга неплотно прилегала к стеклу сканера. У такой страницы в неизмененном виде - мало шансов быть распознанной без ошибок, и тем более она не будет иметь никакого "товарного вида" после сжатия и упаковки в DjVu или PDF. Устранить все дефекты и повысить качество распознавания текста - поможет пакетная обработка.
Салютуем альтруизму разработчиков-добровольцев! Программа ScanKromsator 5.92 (автор - уважаемый камрад bolega) - объективно лучший на данный момент процессор пакетной обработки изображений, специально "заточенный" под книгосканирование. Скачать программу всегда можно здесь: http://www.djvu-soft.narod.ru/soft/
Главное окно программы ScanKromsator |
Программа ScanKromsator - мощный инструмент для подготовки книжных сканов. Она автоматически и наилучшим образом выполняет операции разбиения по страницам (Split), углового выравнивания (Deskew), обрезки переплетов и полей страниц. Однако, потратив несколько минут на расстановку опций и проверку страниц - можно получать всегда отличные легко распознаваемые сканы с минимальными (только не для компьютера ) усилиями. Кроме того, программа может сохранять сделанные настройки в виде сведений о заданиях (Tasks). Это позволяет при работе с большими книгами не бояться задать неправильные установки после перерыва в работе.
Первый шаг при работе с Кромсатором - командой File->Open Images... вызвать диалог открытия файлов с изображениями, и в нем выбрать ранее подготовленные сканы:
В диалоге открытия присутствуют списки, влияющие на открытие многостраничных TIFF-файлов (некоторые программы сканирования позволяют сохранить несколько сканов в один TIFF-файл), и сортировку файлов после сформирования списка. Опцию "Sort Smart" ("Умная" сортировка) стоит держать включенной всегда, и не отказываться от сортировки, так как обычная техника выбора файлов в Windows с помощью мыши и клавиши Shift - меняет местами первый и последний выбранные файлы в списке.
Как бороться с выбором файлов в Windows |
Для того, чтобы
выбрать файлы в любом диалоге Windows в правильном
порядке, нужно:
|
Открытие сканов занимает, в зависимости от быстродействия компьютера - от нескольких секунд до примерно полуминуты. Когда изображения открыты, можно просмотреть их в вертикальном графическом списке файлов, а имена сканов - перечисляются в левом верхнем углу окна.
В списке имен наличие зеленой галочки рядом с именем файла - означает, что файл готов к финальной обработке (прошел стадию автоматической установки границ). В случаях, когда в файл вносятся изменения, и он требует повторной обработки, его имя выделяется полужирным шрифтом.
Каждая страница, обрабатываемая Кромсатором, перед основной обработкой проходит препроцессинг - первичную расстановку границ. При этом программа пытается определить положение корешка (при сканировании разворотов), обреза книги и полей страницы.
Запускается препроцессинг командой Draft Kromsate меню Edit, или одноименной кнопкой (на кнопке - рисунок с ножницами) инструментальной панели.
При этом появляется диалог Draft Kromsate, с тремя вкладками: Options, Preprocess и Advanced. Собственно интерес будет представлять только вкладка Options, так как на ней выставляются все нужные на данный момент параметры. Список Kromsate позволяет выбрать, к каким файлам из списка будет применен препроцессинг. Опцию Pre-Rotate (вращение) следует использовать, когда развороты или страницы книги сканировались в "вертикальном" положении и не поворачивались программой сканирования. Флажок Save after rotate позволяет задать необходимость предварительного сохранения повернутого изображения (вот где важно отсутствие JPEG-сжатия!). Группа списков Use options from... задает возможность выбора одного из предварительно сохраненных наборов настроек.
Флажки в нижней части диалога задают параметры работы препроцессора, от них напрямую зависит качество результата, поэтому остановимся на них более подробно:
Маленькие хитрости |
Если границы выставляются неправильно (чаще всего такое происходит на бледных сканах), может помочь увеличение чувствительности поиска вертикальных границ текста - она регулируется ползунком Text vert. sensitivity на вкладке Advanced. |
Когда все параметры выставлены, остается только нажать на кнопку OK и подождать... от десяти минут до получаса, в зависимости от объема книги и быстродействия компьютера. После окончания препроцессинга окно программы изменится:
На поле редактирования изображения появляются линии обрезки, а на его краях соответствующие ползунки. Ползунки с L-образным рисунком обозначают границу обрезки поля страницы, ползунки с Т-образным рисунком определяют границы переплета.
Теперь настало время проверить расстановку границ на всех сканах. Это утомительная, но совершенно необходимая часть работы.
В секции опций окна ScanKromsator выбираем вкладку Page, чтобы при необходимости отключать разбиение разворотов на страницы флажком Split. Потом начинаем листать страницы одну за одной. Листание реализовано очень удобно: клавиша "W" листает страницы вперед, а "Q" - назад. Таким образом, перебирая левой рукой страницы, можно очень быстро ставить мышью на место неверно установленные границы, перемещая их за ползунки (сами линии на поле редактирования не перетаскиваются). При необходимости поставить наклонную границу, можно наклонить одну из линий, нажав клавишу Shift и потянув ползунок. Только не нужно злоупотреблять наклоном горизонтальных границ, это может привести к появлению страниц с текстом, растянутым в форме трапеции. Уже упомянутый флажок Split отключает разбиение разворота на страницы (в случае, если, например, в книге присутствует большое изображение на целый разворот, требующее дополнительного сведения в другой программе).
Если ошибки в расстановке границ повторяются (такое бывает, например, когда при сканировании деформировался мягкий переплет), можно скопировать текущее положение одной из границ группой команд Copy current position to... контекстного меню, вызываемого щелчком правой кнопки мыши на ползунке. В этой группе особый интерес представляют команды all down и all selected, задающие копирование положения границы "до конца" списка или на все выбранные сканы. Контекстное меню также позволяет отключить наклон границы командой Reset Slope.
Когда все границы выставлены как положено, приходит время расстановки опций. Встряхнитесь, ибо тут нужно предельное внимание - даже один неверный шаг наверняка будет стоить вам потраченных нервов и процессорного времени. Итак, перед нами секция опций программы ScanKromsator.
Помните, что большинство выставляемых опций относятся только к выбранной странице! Чтобы распространить устанавливаемую опцию на все страницы, нужно при включении флажка или щелчке на кнопке держать нажатой клавишу Ctrl!
Начнем с вкладки Page и пройдем по опциям последовательно слева направо.
Уже упомянутый флажок Split отвечает за разбиение на страницы. Флажки Deskew (выровнять) и Despeckle (очистить от мусора) установлены по умолчанию для всех страниц. Флажки Art (свободный наклон) и Ortho (принудительный поворот) задают специальное выравнивание страницы. В подавляющем большинстве случаев можно обойтись без них. Группа параметров Page align (выравнивание текста) сообщают программе о типе верстки страницы. Буква A в списках означает автоматическое детектирование верстки. Практически для любой книги (если только это не зоологический справочник с обилием таблиц, вклеек и разной версткой по разделам) выравнивание текста по горизонтали следует выставить по центру ("С"), а вертикальное - автомат ("А"). Вертикальное выравнивание стоит устанавливать только для страниц, имеющих явно нестандартную верстку (например, когда в текст книги включаются формы документов, выровненные посередине высоты страницы).
Вкладка Book.
На этой вкладке задаются единицы измерения (Units), величины добавляемых полей (Gaps) и размеры выходного изображения. Особое внимание стоит уделить полям Gap value (ширина поля). При обработке ScanKromsator добавит белое поле именно такой ширины в изображение страницы.
Величину добавляемых полей можно установить в интервале 180-250 в зависимости от изначальной ширины полей книги. Флажок vert. gap = hor.gap уравнивает ширину горизонтальных и вертикальных полей.
Остальные параметры можно не трогать, кроме флажка Merge pages after split (объединить после разбиения). Этот флажок пригодится, например, когда книга готовится к печати полными разворотами на листах альбомного формата (так иногда собирают дубликаты в библиотеках). Если этот флажок установлен, на выходе вы получите страницы с полями, склеенные по переплету.
Вкладка Files.
На этой вкладке в поле Output folder (папка назначения) задается имя папки для выходных файлов, а в поле Ouput Prefix (префикс имени выходного файла) можно ввести "добавку" к имени файла, которая позволит отличить "сырые" сканы от обработанных. Параметры Start from / Step (Начальный номер / шаг) задают именование выходных файлов.
Особого внимания заслуживает группа параметров Ouput Format (выходной формат). В первом по счету списке выставляется формат упаковки TIFF-файла (уже упомянутый TIFF Uncompress). Следующий список задает разрешение вывода (DPI). Здесь нужно ОБЯЗАТЕЛЬНО выставить 600 dpi! Это включит оверсемплинг и облегчит в дальнейшем задачу распознавания, сжатия и печати.
Зачем нужен оверсемплинг? |
При распознавании
текста программа "оконтуривает" символы по
их контрасту с окружающим полем страницы. Затем
полученные контуры сравниваются с эталонными,
содержащимися в языковой базе данных. Если
процент сходства достаточно велик, контур
признается распознанным как тот или иной символ
шрифта. В общих чертах, именно так работают
алгоритмы OCR. Успех их работы сильно зависит от
того, насколько велик абсолютный (в пикселах)
размер символа в графическом файле. А этот самый
размер напрямую зависит от разрешения файла. При
разрешении 600 dpi на реальную ширину и высоту
"бумажного" символа придется ровно вдвое
больше пикселов графического изображения, чем
при разрешении 300 dpi. Соответственно, вероятность
успешного распознавания тоже вырастет, причем
весьма существенно. Задача оверсемплинга -
поднять разрешение скана до выходного,
пересчитав определенным образом точки
графического изображения. Оверсемплинг позволяет впоследствии спасти изображение от дефектов сжатия (за счет большого числа точек они становятся незаметны), а также помогает вывести изображение на печать наилучшим образом. Например, при печати файла DjVu 300 dpi на полном формате (масштаб 100%) шрифт получается "рваным" из-за того, что преобразование серого скана в чисто черно-белое изображение дает много дефектов по краям букв, а принтер, имея собственное разрешение немногим больше 300 dpi, не в состоянии их исправить. Совсем иное дело - при печати документа с разрешением 600 dpi. В этом случае входное изображение принтера, имеющее огромное количество точек, "ужимается" в размер реальной бумажной страницы. Особенности алгоритмов изменения размера приводят к тому, что границы символов разглаживаются, а резкость увеличивается. Разница между сжатыми страницами с разным разрешением заметна даже при просмотре на экране: на 300 dpi все дефекты, не устраненные обработкой, становятся заметны, а иногда изображения (например, полученные с бледного скана) вообще приходят в негодность. |
Список Color (цвет) задает цветность выходного изображения. Для черно-белого текста и одноцветных рисунков выставляется пункт B/W, для черно-белых фотоиллюстраций - Gray, для полноцветных изображений - Color (24bit). Впрочем, установка цветности для страницы в целом чаще всего бывает не нужна, поскольку есть возможность обрабатывать рисунки отдельно.
Маленькие хитрости |
Больше всего проблем возникает, когда часть текста верстается поверх изображения (типичный прием для верстки детских книг). Такие страницы желательно вообще не подвергать обработке Кромсатором, а сразу подвергать распознаванию и запаковывать в PDF. |
Вкладка Options.
На этой вкладке стоит только поднять до предпоследнего деления уже упоминавшиеся ползунки Text vert. sensitivity. В некоторых особо тяжелых случаях (вроде все тех же таблиц, отпечатанных на полупрозрачной бумаге), избавиться от "съедения" программой части символов можно, установив в списке Despeckle (очистка от мусора) пункт Safe.
Вкладка Options 2.
На этой вкладке заслуживает внимания один-единственный элемент - флажок LZW for non-bw TIFFs (применить сжатие для не ч/б TIFF-файлов). По умолчанию этот флажок включен, но его стоит выключить, чтобы потом не страдать от проблем с открытием файлов в программах распознавания.
Вкладка Convert.
На этой вкладке задаются параметры преобразования изображения из градаций серого в чистое черно-белое. Группа параметров Convert to b/w threshold (Порог преобразования в ч/б) содержит три списка с идентичным набором пунктов. Два верхних из них отвечают за порог преобразования для четных и нечетных страниц, последний - за преобразование специально выделенных одноцветных рисунков.
Для оптимального результата при нормально читаемом с бумаги тексте лучше всего выставить во всех списках вкладки пункт MiddleDark. Если же результат будет негодным, с этими параметрами придется экспериментировать, так как единого рецепта дать здесь невозможно.
Вкладка Quality.
На этой вкладке выставляются параметры, напрямую влияющие на качество выходного изображения. Флажок Enhance Image (применить улучшение) включает такую специальную обработку.
Первое, что нужно сделать на этой вкладке - держа Ctrl, установить галочку Gray Enhance (улучшить в градациях серого). Затем щелкаем по самой надписи, и попадаем в окно настройки дополнительных параметров Gray image enhance.
Здесь включаем (опять держа Ctrl) флажок Correct Illumination (Коррекция освещенности). Параметры - как на рисунке. Именно этот прием обеспечит нам избавление практически от всего мусора на сканах и получение чистых черно-белых страниц.
Маленькие хитрости |
В окне Gray image enhance кроме вкладки Illumination всегда стоит заглянуть на вкладку Unsharp (контурная резкость). Если включить фильтр Unsharp Mask (знакомый практически каждому, работавшему с Adobe Photoshop), то он может неплохо выгладить края символов и улучшить их четкость. Параметры фильтра можно выставить как на рисунке. |
Когда все дополнительные параметры выставлены, окно Gray image enhance можно закрыть, и перейти снова на вкладку Quality. Здесь включаем флажки Smooth (сгладить), Blur (размыть) и Sharpen (усилить резкость). Параметры везде можно выставить по 1.
Маленькие хитрости |
Если нужно улучшить читаемость книги (особенно с монитора), параметры Smooth и Blur стоит увеличить, например поставить Smooth = 2, Blur = 1, или в любом другом сочетании. Размытие краев символов позволяет придать им большую цельность при сжатии, и такой текст с монитора будет отлично читаем. |
Последняя вкладка - PDF - отвечает за подготовку PDF-документа, но я предпочитаю ее не трогать, и вам не советую .
После того, как все опции установлены и общие параметры пакетной обработки заданы, приходит время разобраться с рисунками (если таковые имеются в книге). Первое, что стоит сделать с найденным рисунком - выделить его мышью. Выделенная область в ScanKromsator носит название зоны (Zone). Чтобы выделенный рисунок рапознавался программой как не подлежащий обработке, после выделения достаточно щелкнуть в инструментальной панели на кнопке Mark as Picture Zone (отметить как картинку) . Впрочем, для одноцветных рисунков выделение необязательно, наоборот - преобразование в ч/б может сильно улучшить их восприятие.
Маленькие хитрости |
Самая большая
хитрость в подготовке черно-белых изображений -
выбрать правильный способ их кодирования. Дело в
том, что ScanKromsator может преобразовать изображение
не только в черно-белое фотографическое (оно
будет просто вырезано из страницы), но и в так
называемое точечно-диффузное одноцветное (Bitonal
Dithered Image). Суть этого процесса в том, что оттенки
черно-белого изображения получаются путем
изменения частоты расстановки отдельных черных
пикселей. Фактически (с точки зрения алгоритма
сжатия) такое изображение - одноцветное, то есть
безградационное. Это позволяет очень
существенно (до 20 раз!) выиграть в размере при
сжатии алгоритмами, аналогичными LZW, DjVu, ZIP и
другими. В случае JPEG сжатие может вообще не
удаться, так как этот алгоритм рассчитан на
плавные переходы оттенков. Использовать Dithered Image возможно только на изображениях с высоким разрешением. Дело в том, что при отображении на экране или бумаге диффузного изображения с высоким разрешением происходит уменьшение, и отдельные черные и белые точки пересчитываются в серые. Если изображение не уменьшается при отображении, расположение точек становится заметным глазу, и изображение приходит в негодность. Применять диффузное кодирование при работе в ScanKromsator имеет смысл при работе с фотографическими изображениями, напечатанными офсетом (на них виден небольшой растр) и глубокой печатью (на них мал общий контраст). Высококонтрастное или фактически одноцветное изображение кодировать диффузным способом опасно - можно "обсыпать" края контрастных объектов отдельными точками. Фактически, можно применить диффузное кодирование к любому изображению с достаточно высокой плотностью серого цвета и достаточно малым общим контрастом (как на рисунке). Диффузное кодирование задается для выделенного рисунка кнопкой Exclude and Mark as Dithered Zone (Исключить и отметить как зону диффузного кодирования) инструментальной панели, или командой меню Zones -> Exclude and Mark as Dithered Zone. При включении диффузного кодирования рисунок не изымается из страницы при обработке. |
После того, как все настройки заданы и рисунки оформлены в виде зон - нужно проверить качество выходных файлов. Для этого следует выбрать несколько страниц, которые вам покажутся самыми "проблемными". Как правило, это страницы с рисунками, чертежами и таблицами. Каждая страница передается на обработку командой Process -> Current File или клавишами Ctrl+P. ScanKromsator произведет обработку страниц по заданному настройками сценарию, а потом выведет специальный маленький просмотрщик с окном, подобным старым версиям ACDSee.
Перед запуском обработки программа может выдать запрос на изменение разрешения (DPI) изображения. На этот запрос нужно всегда отвечать утвердительно, иначе оверсемплинг применен не будет и выходные файлы придут в негодность.
Когда экспериментальные файлы удовлетворили требованиям к качеству, приходит время запускать основной процесс обработки. Сами первичные выходные файлы лучше удалить, чтобы программа не застопорилась на них c запросом о перезаписи. Обработка запускается нажатием кнопки Process! инструментальной панели.
Длительность обработки целиком зависит от быстродействия компьютера, и в среднем составляет для 400-страничной книги от 20 минут до полутора часов.
После обработки в выходной папке будут находиться:
В самих страницах на месте выделенных ранее рисунков останутся "дыры". Поэтому для получения изображений, пригодных для распознавания, нужно объединить страницы с рисунками. Это делается командой меню Zones -> Picture Zone -> Merge Zones. После окончания процесса объединения все выходные файлы будут готовы для распознавания.
Вот, наконец, и пришло время для FineReader'а . Да, великого и ужасного. Для цели книгосканирования лучше всего подойдет версия 9.0 Pro, но мне впору пришлась лицензионка 7.0 Pro, списанная за ненадобностью на работе. Шучу. Первое, что нужно сделать - зайти в диалог опций пакета, и сбросить там все флажки на вкладке Сканирование/Открытие в группе Обработка изображений.
После этого нужно переместить куда-нибудь в известное место сам пакет, чтобы потом легко найти его. Я предпочитаю сохранять в папку, куда выводил изображения страниц ScanKromsator. Когда страницы открыты, можно сразу запускать распознавание.
Первичная вычитка в FineReader сводится к легкой коррекции самых заметных ошибок. Главное правило при работе - если вы собираетесь сохранять файл в DjVu, ни в коем случае не удаляйте знаки переноса строки и концевые дефисы абзацев!
Тогда внедрить текстовый слой в DjVu-файл можно будет легко и быстро, и не возникнет проблем при модификации готовой книги.
Вопрос выбора формата обязательно встает ребром, как только принимается решение преобразовать книгу в электронный вид. При выборе формата нужно учитывать несколько факторов. Чтобы лучше разобраться в них, приведу краткое сравнение особенностей форматов PDF и DjVu.
Все сказанное заставляет подумать, что DjVu - идеальный формат для электронных книг. В целом это недалеко от истины. При обработке сканов обычных черно-белых книг, таблиц и справочников с относительно небольшим количеством иллюстраций и вклеек DjVu настолько сильно выигрывает в размере и качестве файла у PDF, что применять последний становится бессмысленно.
Совсем иная картина при сохранении широкоформатных журналов, детских богато иллюстрированных книг и разнообразных фотокаталогов и альбомов. Здесь обилие полноцветной графики высокого разрешения нивелирует все достоинства JBIG (поскольку в факторе сжатия сложных изображений он существенно проигрывает JPEG). Кроме того, попытки кодера DjVu понизить цветность отдельных участков изображения при его сохранении - крайне отрицательно сказываются на качестве.
Собственно в моей практике было всего два случая, когда DjVu проиграл PDF. Оба раза это были книги с большим количеством иллюстраций - "Петрович и Патапум" и фотокаталог деталей для завода. На них DjVu все-таки дал более чем двухкратный выигрыш в размере по сравнению с PDF, но при этом проиграл в качестве на два порядка, и был забракован.
Собственно, общие рекомендации по выбору формата сохранения могу дать следующие:
Cохранение в формат PDF я лично предпочитаю выполнять в FineReader, с небольшой финишной обработкой в Adobe Acrobat. Если текст распознан без большого количества грубых ошибок - PDF-кодер Ридера выдает вполне приемлемые результаты. Но с настройками сохранения, выставленными в программе по умолчанию - вы будете сильно разочарованы качеством графики. Поэтому, прежде чем выдать программе команду на сохранение файла - я обязательно захожу в диалог настройки пакета FineReader, жму на вкладке Сохранение кнопку Форматы - и выставляю опции на вкладке PDF:
При показанных настройках рост размера сохраняемого файла составляет примерно 10-25% по сравнению с настройками по умолчанию. Качество же графики растет на порядок, поэтому скупиться себе дороже. Выставив настройки, можно смело сохранять все распознанные страницы в один файл.
Единственная беда полученного файла - отсутствие оглавления. В принципе, для детской книжки или комикса это можно пережить, но вот в случае фотокаталога или альбома по искусству - создать оглавление придется, чтобы потом не возиться с текстовым поиском. Для этого лучше всего обзавестись Adobe Acrobat какой-нибудь старой версии, вроде 7.0 - все задачи по созданию оглавления он решит отлично.
Создать оглавление в Adobe Acrobat очень просто. Найдя начало нового раздела, нужно скопировать текст его заголовка из рабочего поля, а потом щелкнуть на кнопке с "солнышком" на панели закладок, как она выглядит на рисунке. Появится свежая закладка на текущую страницу. Название новой закладки вводится таким же образом, как имя файла в "Проводнике" Windows. После того, как все закладки созданы, их можно с помощью простого перетаскивания распределить по уровням вложенности (разделы и подразделы). Сохранив файл в последний раз, вы получите готовую электронную книгу.
Для сохранения в формат DjVu понадобится программное обеспечение, работающее с этим форматом. Конкретно это:
Вся операция сохранения начинается с настройки кодера DjVu. Диалог настройки в LizardTech Document Express Enterprise вынесен в отдельное приложение, называемое Configuration Manager. Запускаем это приложение.
Интерес здесь представляют профили кодирования, сгруппированные в списке Select Profile. Задача настройки (это нужно будет сделать всего один раз) состоит в том, чтобы подготовить три специальных профиля для кодирования изображения:
Для создания каждого профиля нужно сперва выбрать из списка базовый профиль. Соответственно, для указанного списка это будут профили Bitonal (600dpi), Photo (300dpi) и Scanned (600dpi). Выбрав профиль, нажимаем кнопку Advanced Settings, не трогая никаких основных настроек. В появившемся диалоге выставляем параметры, как на рисунках:
Для профиля Bitonal:
Для профиля Photo:
Для профиля Scanned:
Что сие означает |
На вкладках тонкой
настройки профилей основное место занимают
опции кодера - коэффициент усиления, обработка
полутонов и яркостной составляющей и т.п. Трогать
эти настройки нужно только в том случае, если
требуется специальным образом закодировать
сложное и объемное изображение. В случае книжных
сканов в этом нет никакой необходимости, так что
интерес будут представлять только группа
параметров Text Quality, список JB2 Format,
поле Pages per Dictionary и поля Back/Foreground Quality. Группа Text Quality задает методику кодирования контрастных контуров, опознанных по единообразию размеров (т.е. представляющих символы шрифта). Значения в этом списке можно менять только для профилей Scanned и Photo (в профиле Bitonal изменение установки качества на любую, кроме Most-loss (~aggressive) приводит к конфликту при работе кодировщика). На размер файла эти настройки влияют довольно слабо (для серых сканов и изображений размер меняется в пределах 20% при установках от Lossless до Most-Loss). Поля Background Quality и Foreground Quality выставляют фактор сжатия JBIG соответственно для слоев заднего и переднего планов. На размер выходного файла влияют слабо, если только скан не формата A3. В принципе, значения, показанные на рисунках, дают оптимальное качество в подавляющем большинстве случаев книгосканирования. Поле Pages per Dictionary - именно та настройка, наличие которой позволяет существенно сократить размер файла. Она задает максимальное количество страниц, на которые будет распространяться отдельный словарь. Это позволяет (за счет единообразия типографского шрифта) увеличить степень сжатия в несколько раз. В то же время, задавать большое количество страниц на словарь для профилей Photo и Scanned нецелесообразно - это приведет к ухудшению качества. |
После того, как все настройки заданы, можно сохранить профили (дав им информативные имена, вроде Advanced Bitonal...), и приступить непосредственно к кодированию.
Для начала нужно рассортировать выходные файлы на несколько групп, каждую из которых будет кодировать свой профиль. В отдельные группы выделяем: файлы с текстом и диффузными черно-белыми иллюстрациями, текстом и черно-белыми недиффузными иллюстрациями, цветные и черно-белые вклейки.
Собственно, профиль Scanned нужен только для самых сложных случаев (страницы с текстом и высококонтрастными черно-белыми клишированными фотографиями, не поддающимися диффузному кодированию), основную работу сделают профили Bitonal и Photo. Группы файлов можно разобрать по папкам с именами профилей, чтобы потом не ошибаться с выбором. Затем запускаем приложение Workflow Manager пакета Document Express Enterprise.
Командой меню File -> Open Image... открываем первые из подлежащих кодированию файлов (но не обложку!). Как правило, первые страницы книги целиком черно-белые. Для них подойдет профиль на основе Bitonal. Смотря по характеру страниц, можно выбрать и другой профиль. Открыв изображение, выбираем для кодирования ранее подготовленный профиль из списка Raster Profile.
Если книга не имеет иллюстраций в тексте, все страницы, кроме обложек, можно сразу сохранить в один DjVu-файл. Если же имеются иллюстрации, цветные вклейки и т.п., то каждую страницу нужно сохранить в свой DjVu-файл, чтобы потом собрать их воедино в редакторе.
Маленькие хитрости |
Обычно, кодируя книгу, я заранее сохраняю первые страницы без иллюстраций в один DjVu-файл с именем, совпадающим с именем книги (соответственно, эти файлы уже не выделяю ни в какую группу для кодирования). Потом в папку, где лежит этот файл, кодирую все оставшиеся страницы - каждую в отдельный файл. Открыв затем редактором файл с именем "<Название книги>", просто добавляю к нему уже имеющиеся закодированные DjVu-файлы, предварительно отсортировав их по именам. Так легко и быстро можно получить готовый файл для добавления обложек. |
Итак, открыв изображения, подлежащие кодированию тем или иным профилем, задаем в поле Job Name имя задания. Если книга сохраняется в один файл, то эта строка будет его именем. В противном случае все файлы DjVu, соответствующие страницам, будут сохранены с именами, совпадающими с именами файлов страниц.
Теперь время перейти с вкладки Workflow на вкладку Output.
Здесь из списка Separate Files выбираем тип сохранения: One document only (единичный документ), либо Each file (каждый файл отдельно). Затем, щелкнув по ссылке Choose Folder... выбираем папку для сохранения выходных файлов DjVu. Если сохранение идет по одному файлу, крайне нежелательно сохранять DjVu-страницы в папку с выходными файлами ScanKromsator (папку с изображениями страниц) - это очень затруднит выбор файлов для открытия редактором.
Каждая команда Open Images... (кроме первой после запуска программы) в Workflow Manager создает новое задание (Job). Параметры на вкладках можно выставлять отдельно для каждого задания. После того, как все готово, можно запустить задания на выполнение. Для этого достаточно поставить галочку рядом с именем каждого задания. К сожалению, индикация прогресса работы в Workflow Manager не предусмотрена. Однако, кодер работает очень быстро, кодирование даже 500-страничного тома редко длится более 10 минут. Когда кодирование основной части книги завершено, можно открыть Workflow Manager файлы с обложками и закодировать их в отдельные файлы DjVu, использовав ранее подготовленный профиль Photo.
Когда готов весь набор файлов DjVu (книга в одном файле или в виде страниц, обложки), можно сложить все файлы в одну папку, и приступить к сборке полноценной электронной книги. Запускаем Document Express Editor
Открываем файл с первой страницей обложки. Затем командами меню Edit -> Insert Page(s)... добавляем в нужные места все остальные подготовленные файлы. Теперь книга имеет приличный вид, и ее можно сохранить командой File -> Save As....
Остались сущие пустяки - добавить в книгу текст, распознанный в FineReader, и создать оглавление. Начнем с добавления текста. Не закрывая редактор, находим страницу, с которой начиналось распознавание и запоминаем его номер (теперь он не первый, как это было в пакете FineReader, так как добавились обложка и форзац). Теперь закроем редактор, и запускаем приложение DjVuOCR 2.4 (автор - камрад Gencho из солнечной Болгарии ).
Интерфейс этого процессора обработки DjVu интуитивно понятен. Нас интересует режим "Ручной OCR manager"
Здесь нужно указать адрес папки пакета FineReader с распознанной книгой, номер первой страницы пакета в файле DjVu, а также имя самого файла DjVu. Флажок "Создать" не должен пугать - на самом деле, в существующий файл DjVu просто будет записан невидимый слой с текстами и координатами строк. Когда все параметры заданы, запускаем обработку. Проходит она очень быстро, и теперь файл DjVu готов к созданию оглавления.
На сайте http://www.djvu-soft.narod.ru можно найти несколько программ, предназначенных для автоматизации создания оглавления в файлах DjVu, но я лично предпочитаю полный контроль над этим процессом. Если в книге нет непронумерованных вклеек, задача очень проста. Берем в руки книгу, и смотрим, как посчитать номер страницы в файле относительно номера страницы в книге. Теперь жмем кнопку Rectangular Hyperlink на инструментальной панели редактора.
Нажав кнопку - выделяем область (например строку), которая станет ссылкой оглавления. Появляется диалоговое окно:
К сожалению, процесс создания оглавления не отличается удобством. Каждый раз придется выбирать тип ссылки Page Number в списке Link To:, а потом выбирать из списка Page номер страницы. Когда оглавление готово, файл сохраняется, и DjVu-книга готова!
Итак, книга для просмотра на мониторе или eBook подготовлена. Но, если только это не технический справочник, вам наверняка охота получить еще и маленький файл для загрузки на PDA или любимый сотовый телефончик . Получить его будет опять-таки довольно утомительно, но фактически совсем не сложно. Берем пакет с распознанной книгой, открываем его в FineReader и сохраняем в формате TXT. Потом - открываем полученный файл в MS Word и приступаем к финальной вычитке. Тут самой главной проблемой будут оставленнные программами дефисы на месте переносов. Их удаление будет весьма монотонной, но достаточно быстрой работой. Лучше всего открытый в Word файл перевести в режим отображения "Веб-документ". Теперь остается только, прокручивая текст, искать неверные переносы на правой стороне экрана, и исправлять их. Переносы в FineReader не изменяются в таких случаях:
Когда текст вычитан, наступает время заголовков и рисунков. Каких-либо рекомендаций по выделению заголовков - давать нет смысла, ибо кому что нравится. С рисунками придется повозиться чуть дольше. Во-первых, те из рисунков, которые были обозначены как диффузные (Dithered) в ScanKromsator - придется обозначить еще раз, уже как простые рисунки (Picture Zone), и обработать страницы с ними отдельно. Тогда рисунки выделятся в отдельные файлы. Теперь, с помощью Word эти файлы можно будет добавить в вычитанную книгу. Место для рисунка можно выбирать произвольным образом, если только он не привязан к тексту - тогда придется отыскать нужное место. Когда рисунок добавлен, щелкаем по нему дважды, запуская диалог Формат рисунка.
Сейчас задача - сжать рисунок для того, чтобы изображение высокого разрешения не "забивало" экран и память на мобильном устройстве. После нажатия на кнопку Сжать... вызывается диалог сжатия изображения. Параметры в нем выставляются так, как на рисунке:
После получения ответа из диалогов Word обрежет и сожмет рисунок алгоритмом JPEG с фактором качества 50%. Для мобильных устройств этого вполне достаточно из-за маленьких экранов.
Сохранять полученный файл лучше всего в формат HTML. Как показала практика, с ним не возникает проблем у большинства "читательных" программ на мобильных телефонах и PDA. Для того, чтобы выходной HTML-файл был совместим со стандартом HTML (не содержал служебной информации Word), сохранять нужно, задав в списке "Тип файла" пункт "Веб-страница с фильтром". При выборе этого пункта Word сперва спросит, в своем ли мы уме, что не сохраняем его служебные данные, но потом выведет в указанную папку две вещи: собственно HTML-файл с текстом книги, и подпапку с именем <имя книги>.files, которая будет содержать рисунки и таблицу совместимости Word. Эти две вещи лучше всего сразу запаковать в ZIP-архив (большинство программ-читателей сможет распаковать такие книги), чтобы не потерять при переносе на мобильное устройство и не плодить на нем папки под каждую книгу.
По завершении всех операций - вы получаете электронную книгу, практически неотличимую на вид (правда, на экране) от бумажной! Плюс - версия для чтения на мобильнике. Еще раз повторю: описать все эти операции гораздо труднее, чем выполнить.
Удачи в книгосканировании!
При необходимости в старых версиях программ - пишите мне в личку, программы могу выложить на файлообменники в любое время.
P.S. Примеры к этому руководству я
получил, отсканировав и обработав книгу Лины
Хааг "Горсть Пыли".
Раздача этой книги оформлена здесь: http://torrents.ru/forum/viewtopic.php?t=2170096.
Автор: twdragon
Источник: http://torrents.ru/forum/viewtopic.php?t=2160930
Получено от: http://natahaus.info/forums/showpost.php?p=62634&postcount=21
Подготовил: monday2000.
18 декабря 2009 г.
monday2000 [at] yandex.ru