Вернуться к разделу "Материалы по сканированию и оцифровке бумажных книг".
Программа DjVu Sep морально устарела. Вместо неё следует использовать программу DjVu Imager.
Программа DjVu Sep v2.3 (978 КБ) предназначена для кодирования в формат DjVu полутоновых иллюстраций (встречающихся на сканах книг) по методу разделённых сканов (МРС). DjVu Sep на практике воплощает в себе МРС. Программа имеет cвободно-бесплатную лицензию GPL и полностью открытые исходные коды (59 КБ).
DjVu Sep использует разновидность метода разделённых сканов, которую я предлагаю назвать условно "технология вставки разделённых страниц". Возможный английский вариант: "Separated pages insertion technology".
Полутоновые иллюстрации - это серые (или цветные) фотографии объектов реального мира или иные реалистичные рисунки, состоящие (на вид) из объектов различных оттенков серого цвета (или многоцветные) (не путать с чёрно-белыми рисунками - т.е. состоящими только из объектов чёрного и белого цветов).
Программа DjVu Sep не может работать "сама по себе" - а только в связке с двумя другими программами: ScanKromsator v5.91 (или любым другим графическим редактором) и DjVu Small v0.3.3.
Смысл метода разделённых сканов (МРС) состоит в том, чтобы подменить при кодировании в DjVu автоматическую сегментацию (с использованием documenttodjvu - обычный вариант) ручной (с использованием csepdjvu). Это даёт полный контроль над сегментацией, обеспечивающий следующие преимущества:
1. Исключение ошибок кодирования (визуальных артефактов).
2. Возможность подобрать вручную для каждой полутоновой иллюстрации оптимальное соотношение сжатия "размер-качество".
3. Оптимальное сжатие (в DjVu) различных по своей сути объектов - текста и полутоновых рисунков.
МРС следует применять для чёрно-белых книг, содержащих полутоновые иллюстрации - это, например, всевозможные каталоги (см. рис. 1), учебники по использованию компьютера с изображениями диалоговых окон (см. рис. 2) и т.п. Для таких книг МРС даёт очень хорошие результаты.
Рис. 1. Каталог продукции с фотографиями. |
Рис. 2. Компьютерный учебник с изображениями диалоговых окон. |
МРС не всегда даёт хорошие результаты для книг, содержащих малоцветные объекты - цветной текст, рисунки плакатного типа, схемы из монотонных цветов и т.п - а именно, он зачастую даёт проигрыш по размеру результирующего DjVu-файла - по сравнению с автоматической сегментацией, которая отправляет такие рисунки частично в задний фон DjVu-файла (а МРС помещает их целиком в слой переднего плана), что значительно снижает размер результирующего DjVu-файла. Для таких книг лучше применять (после специальной обработки в СканКромсаторе v5.91) либо автоматическую сегментацию (с использованием documenttodjvu), либо метод Minor'а.
Общая схема обработки сканов с полутоновыми иллюстрациями выглядит так:
Рис. 3. Исходный скан с полутоновой картинкой (взято с сайта U235). Картинка заключена в Picture-зону (в СканКромсаторе v5.91) - прямоугольник из редкого красного пунктира. |
1. Загружаем в ScanKromsator v5.91 сканы книги (в режиме Greyscale), содержащие полутоновые иллюстрации (как обычно).
2. Составляем задание для кромсания: расставляем опции, резаки и т.п. (как обычно).
3. В процессе составления задания заключаем попадающиеся на сканах полутоновые иллюстрации в Picture-зоны (выделяем на глаз мышкой и по правой кнопке назначаем тип зоны как Picture-зона) (см. рис. 3).
4. Пройдя по всем сканам и составив задание, нажимаем на кнопку Process!.
5. Переходим в главное окно и в меню Zones -> Picture zone -> Merge zones... ставим флажок Create separate files for non-b/w zones, жмём ОК и соглашаемся с вопросом Merge zones for output files?.
6. ScanKromsator v5.91 обработает каждый скан, где присутствует хоть одна Picture-зона, особым образом:
- Каждый такой скан будет "разбит" на 2 т.н. "субскана" - субскан переднего плана (foreground subscan) и субскан заднего фона (background subscan). (см. рис. 4 и 5).
- Субскан переднего плана (в чёрно-белом формате) - это исходный скан за вычетом полутоновой картинки.
- Субскан заднего фона (в сером или цветном формате) - это исходный скан за вычетом всего, что не относится к полутоновой картинке (если на исходном скане 2 или более Picture-зоны, то все они адекватно переносятся на субскан заднего фона).
Рис. 4. Субскан переднего плана (foreground subscan) - чёрно-белый. |
Рис. 5. Субскан заднего фона (background subscan) - серый. |
Скачать пример с этими файлами (974 КБ)
Таким образом, субсканы получаются такими, чтобы при прозрачном наложении второго на первый получился исходный скан.
7. На выходе из ScanKromsator v5.91 мы получаем папку out, в которой находится смесь простых сканов, пар субсканов, и т.п.
ИТОГ: Таким образом, ScanKromsator v5.91 разбивает каждый исходный скан с полутоновой иллюстрацией (где есть Picture-зоны) на соответствующую ему пару субсканов.
Примечание: Для создания пар субсканов вовсе не обязательно использовать именно ScanKromsator v5.91 - можно применить любой иной графический редактор. Причём в DjVu Sep предусмотрен настраиваемый фильтр имён пар субсканов - что позволяет настроить её на работу со сторонним графическим редактором.
DjVu Small v0.3.3 в данном контексте применяется для того, чтобы создать итоговую DjVu-книгу без страниц, содержащих полутоновые рисунки (тех самых, которые мы обрабатывали в предыдущем пункте).
Для этого в DjVu Small, начиная с версии 0.3.2,
добавлена новая опция "Пропускать sep-файлы из
СК 5.91". Эта опция включена по умолчанию (на
самом деле я при всём желании не могу представить
себе случай, когда эту опцию потребовалось бы
отключать). При этом подразумевается, что
субсканы имеют имена в базовой нотации
СканКромсатора 5.91, а именно:
- Субсканы переднего плана: 0001.tif, 0002.tif, ...,
0100.tif, ...
- Субсканы заднего фона 0001.sep.tif, 0002.sep.tif, ...,
0100.sep.tif, ...
Последовательность работы с программой выглядит как обычно:
1. Загружаем папку out, полученную в ScanKromsator v5.91 в предыдущем пункте - прямо "как есть", т.е. без какой-либо рассортировки её содержимого по сортам сканов (обычные, картинки, и т.п.). Благодаря опции "Пропускать sep-файлы из СК 5.91" DjVu Small v0.3.3 автоматически отсеет на входе всё "лишнее" содержимое папки out (субсканы и картинки) и загрузит в программу только обычные сканы (из папки out). Можно просто перетащить и "бросить" (через Drag-n-Drop) папку out в окошко "Введите файл(ы):".
2. Выбираем профиль кодирования (обычно это user B/W (600 dpi)) и нажимаем кнопку "Пуск".
3. Через некоторое время получаем (по умолчанию на Рабочем столе) файл "DjVu Encoded.djvu". Это - DjVu-книга без страниц, содержащих полутоновые рисунки. Давайте назовём её условно "DjVu-заготовка".
Примечание: При обычной работе (без полутоновых иллюстраций) DjVu Small v0.3.3 используется точно также. Опцию "Пропускать sep-файлы из СК 5.91" отключать не надо.
DjVu Sep работает следующим образом: она создаёт из каждой пары субсканов (полученных в ScanKromsator v5.91 в п. 2.1) одностраничные DjVu-файлы по методу разделённых сканов (МРС) (при этом субскан переднего плана "превращается" в слой переднего плана, а субскан заднего фона - в слой заднего фона создаваемого двухслойного DjVu-файла). Далее каждый такой одностраничный DjVu-файл вставляется между страниц целевой DjVu-книги - при помощи djvm. Именно таким способом достигается иллюстрирование целевой DjVu-книги. Заметим, что в DjVu-заготовке (после DjVu Small) отсутствовали страницы с иллюстрациями (мы так сделали специально) - с таким расчётом, чтобы DjVu Sep вставил их, и уже прямо с иллюстрациями.
Такой способ иллюстрирования DjVu-книг уже рассматривается как архаичный - поэтому вместо DjVu Sep рекомендуется использовать программу DjVu Imager.
У формата DjVu нет понятия "серый" - поэтому слой заднего фона DjVu-файла можно всегда считать "цветным".
Последовательность работы с программой выглядит так:
1. Загружаем папку out, полученную в ScanKromsator v5.91 в п. 2.1 - прямо "как есть", т.е. без какой-либо рассортировки её содержимого по сортам сканов (обычные, картинки, и т.п.). Можно просто перетащить и "бросить" (через Drag-n-Drop) папку out в окошко "Введите файл(ы):".
DjVu Sep автоматически отсеет на входе всё "лишнее" для него содержимое папки out (обычные сканы) и загрузит в программу только пары субсканов (из папки out). Точнее, при открытии мы указываем программе на субсканы заднего фона, находящиеся в папке out, и после нажатия OK программа автоматически находит (в папке out) и подгружает соответствующие субсканы переднего плана (проверяя при этом комплектность загруженных пар субсканов).
При этом важно понимать, что субсканы должны иметь имена в базовой нотации СканКромсатора 5.91, а именно:
- Субсканы переднего плана: 0001.tif, 0002.tif, ..., 0100.tif, ...
- Субсканы заднего фона 0001.sep.tif, 0002.sep.tif, ..., 0100.sep.tif, ...
Если Ваши субсканы имеют какие-то специфические префиксы или суффиксы - то Вам необходимо сначала ЯВНО их (префиксы-суффиксы) задать в разделе "Опции" (флажок Произвольные файлы) - и только после этого загружать субсканы в программу - в противном случае программа просто не поймёт, где какие субсканы и куда их вставлять.
2. Выставляем параметры кодирования. Их 2: ДЗФ (делитель (разрешения) заднего фона) и Качество задн. фона (качество заднего фона). Рекомендуемое значение для ДЗФ - от 2 до 4. Эти параметры влияют при кодировании исключительно на качество кодирования субскана заднего фона (субскан переднего плана всегда кодируется с одинаковым качеством).
3. Для каждого субскана заднего фона в списке можно задать индивидуальные значения параметров кодирования (ДЗФ и Качество задн. фона). Для этого кликните мышкой на нужный элемент списка загруженных файлов, выберите селектор Текущий файл и установите желаемые значения ДЗФ и Качество задн. фона. При этом текущий файл выделится жирным шрифтом в списке. Для сброса индивидуальных значений параметров кодирования (данного файла - т.е. того, который выделен в списке) выберите селектор Все файлы. Для сброса индивидуальных значений (параметров кодирования) всех файлов предусмотрена кнопка С - при её нажатии всем "индивидуальным" файлам выставятся текущие настройки "общих" файлов (т.е. "индивидуальные" файлы полностью уравняются с "общими" - тем самым перестав быть "индивидуальными").
4. Нажмите кнопку Пуск и подождите. DjVu Sep создаст для каждой пары субсканов 2-слойный DjVu-файл (я называю их условно "DjVu-картинка"). В результате получится множество одностраничных DjVu-картинок. Сразу после окончания кодирования программа автоматически сгенерирует временный многостраничный DjVu-файл, в который будет "склеено" всё полученное множество одностраничных DjVu-картинок, и откроет его на просмотр в установленом в системе DjVu-просмотрщике. Этот временный файл нужен лишь для удобства просмотра полученного результата - чтобы сразу "оптом" просмотреть результат.
5. Для визуального подбора индивидуальных значений параметров кодирования (для отдельных элементов списка) предусмотрена кнопка Текущий - она кодирует текущий элемент списка файлов с его текущими параметрами (т.е. фактически независимо от того, "индивидуальный" это файл или "групповой") и тут же открывает его на просмотр в установленом в системе DjVu-просмотрщике.
6. Варьируя и комбинируя по-разному параметры кодирования (ДЗФ и Качество задн. фона) то ли для всех сразу, то ли для каждой отдельной пары субсканов, и просматривая получающийся результат в установленом в системе DjVu-просмотрщике, добейтесь оптимального соотношения "размер/качество" получаемого множества одностраничных DjVu-картинок.
Для облегчения этой задачи между кнопками Просмотр и Текущий выводится суммарный файло-размер всех наличествующих в данный момент DjVu-картинок - и этот показатель авто-изменяется после каждого кодирования (по кнопкам Пуск и Текущий).
7. Нажмите кнопку Источн. и выберите в появившемся окне DjVu-заготовку, полученную в предыдущем пункте (по умолчанию - файл "DjVu Encoded.djvu" на Рабочем столе). Нажмите на кнопку Вставить в DjVu. Программа создаст копию DjVu-заготовки (по пути, указанному в поле слева от кнопки Назнач. - по умолчанию это Рабочий Стол - и с суффиксом "out" по умолчанию) и автоматически вставит полученное множество одностраничных DjVu-картинок (из п. 2.3.6) в соответствующие места копии DjVu-книги (ориентируясь по именам DjVu-картинок).
Эта копия DjVu-книги - и есть результат работы программы. Она является полностью готовой к употреблению DjVu-книгой с иллюстрациями.
1. Метод разделённых сканов (МРС) - Методика DjVu-кодирования с ручной сегментацией.
2. Метод Minor'а - Малоцветная методика DjVu-кодирования (логически дополняет МРС).
3. Субскан - одна из 2 МРС-компонент исходного скана.
4. Субскан переднего плана (foreground subscan) - чёрно-белый субскан - прототип 1 слоя будущего DjVu-файла.
5. Субскан заднего фона (background subscan) - серый (цветной) субскан - прототип 2 слоя будущего DjVu-файла.
6. Пара субсканов - результат МРС-"разбиения" исходного скана.
7. DjVu-картинка - пара субсканов, "превращённая" в готовый 2-слойный одностраничный DjVu-файл.
8. DjVu-заготовка - DjVu-книга без страниц, содержащих полутоновые рисунки.
9. DjVu-книга - готовый к использованию многостраничный DjVu-файл.
Автор: monday2000.
13 октября 2008 г.
E-Mail (monday2000 [at] yandex.ru)