Вернуться к разделу "Материалы по сканированию и оцифровке бумажных книг".


Советы по DjVu-книгосканированию

На этой странице находится подборка разнообразных "обрывочных" советов по сканированию книг для DjVu, которые не вошли в прочие мои статьи. Эта информация была собрана из форумов и трудно поддаётся упорядочиванию - но представляет определённую ценность.

Информации здесь пока совсем мало, но по мере появления она будет сюда добавляться.


1. Если хочется удалить из DjVu-файла слой "задний фон", то можно сделать следующее:

а. Открыть файл в WinDjView, выбрать в меню "Вид -> Режим -> Чёрно-белый" и отправить файл на печать в виртуальный DjVu-принтер.

б. Или воспользоваться утилитой DjVu Layers Remove.


2. Если имя DjVu-файла содержит апостроф - то броузерный DjVu-плагин старых версий не сможет его открыть.


3. Если DjVu-файл не открывается под Windows ни одним из существующих DjVu-просмотрщиков - то отключите 2-е ядро у своего 2-ядерного микропроцессора.


4. В программе DjVu Solo 3.1, по-видимому, заблокирована проверка многих параметров из файла профилей documenttodjvu.conf - т.е. их изменения ни на что не влияют. Пока что замечен эффект лишь от установки параметра lossless=true.


5. Для того, чтобы перевести файлы из формата PNG в DjVu - воспользуйтесь виртуальным DjVu-принтером.


6. Для организации двусторонней печати из DjVu-файла можно использовать FinePrint.


7. У полутоновых рисунков-фотографий на Greyscale-сканах необходимо "размывать" растр - перед кодированием их в DjVu. Тогда при кодировании в DjVu этот рисунок попадёт в слой "задний план", а не в слой "маска" - что позволит значительно сократить размер получаемого DjVu-файла.

"Размытие" можно сделать при помощи операции Blur (или одной из её разновидностей - например, Adaptive Blur) - в любом "сложном" графическом редакторе - например, Abobe PhotoShop, PaintShop Pro, Corel PHOTO-PAINT и др.


8. Если при сканировании "просвечивается" текст с обратной стороны страницы книги - то от этого можно избавиться, если подложить за страницу лист чёрной бумаги (из фотолаборатории или рентген-кабинета).


9. Если кто-то исчёркал ручкой или карандашом текст в сканируемой книге - то это можно исправить вручную в Adobe PhotoShop - нужно скопировать нормальные буквы с других мест данной страницы и вставить их поверх исчёрканных.


10. Термины:

Гарнитура - определенный тип рисунка символов у группы сходных шрифтов - например, гарнитура Times у шрифтов TimesBold, TimesNormal.

Засечки (серифы) - выступающие вверху/внизу буквы штрихи (как у буквы "н" шрифта Times New Roman).

Глиф - векторное изображение отдельного символа в шрифте, ее контур.


11. У DjVu-кодировщика есть особенность - удалять отдельные точки.


12. Если в книге есть много страниц с альбомной (не портретной) ориентацией, то перед распознаванием в FineReader'е их можно повернуть вручную на 90 градусов - чтобы текст на них распознался (или же включить опцию "Определять ориентацию страницы (при распознавании)").

При внедрении такого OCR-текста в готовую DjVu-книгу позиции изображений текста и соответствующих OCR-слов, естественно, не совпадут - однако этот OCR-текст будет восприниматься программами, осуществляющими поиск по OCR-тексту DjVu-файлов (dtSearch + DjVu IFilter, Google Desktop + его DjVu-плагин, Яндекс-Персональный поиск и т.д.)


13. TIF-файлы, создаваемые разными программами, нередко не воспринимаются DjVu-кодировщиком DEE 5.1. В этом случае их нужно пакетно "прогонять" через Irfan View - т.е. пакетное сохранение с не-изменением свойств этих TIF-файлов (а на самом деле при этом отсекаются "левые" теги TIF-файлов, на которых "спотыкается" DEE 5.1).


14. В старых LPT-сканерах типа Mustek ScanExpress 12000 P под Win2000 была такая проблема, как появление модального (т.е. не убирающегося с экрана) окошка в момент сканирования.

Есть 2 способа решения этой проблемы:

1) Самый простой. Большинство настроек работы сканера скрыто в файле "mtwm.ini". Таких файлов для каждого установленного сканера Mustek обычно 2. Один в каталоге "WINDOWS\TWAIN_32\xxx\mtwm.ini", но он ни на
что не влияет, другой в "Program Files", например, "Program Files\BearPaw 2448TA Plus\Driver" (для других моделей нечто подобное, найти проще по наличию в этом каталоге самого файла mtwm.ini или ui.exe).

Найдя файл "mtwm.ini", редактируем его. Ищем подраздел "[xxx_INFO]" или подобный (в этом подразделе обязательно есть параметр ScanSetting, но он нам не нужен, хотя если он стоит в SLWSPD, то меняем на NMLSPD). Ищем в этом подразделе параметр "SMShowStatusDlg", если есть ставим значение в "0" ("SMShowStatusDlg=0"), если нет то сами вписываем эту строчку. Теперь модальное окошко возникать не будет.

На некоторых моделях и драйверах после установки этого параметра может возникнуть глюк - при начале сканирования головка двигается на пару секунд и возвращается обратно. В этом случае изменяем параметр на
"1" ("SMShowStatusDlg=1") и используем способ 2.

2) Способ универсален. Может подойти и для других сканеров (других фирм). Как известно параметры многих окон, форм можно редактировать как ресурсы, н-р, с помощью Restorator'а. Наша задача изменить размеры
модального окошка показа статуса на 1x1 пиксел - такая небольшая серая точка мешать не будет. Или изменить сам статус окна с модального, на немодальный (это лучше).

Для моего сканера BearPaw 2400TA Plus (используется драйвер от 2448TA) параметры модального окошка содержаться в файле "Scanobj.dll".

Открываем его в Restorator'е. Нас интересует ветка "Dialogs". Тут стоит подумать, т.к. подобных искомому окну форм несколько. Методом пробок и ошибок определено, что нас интересует оккошко, где написано "Warming Up...". Его и буде редактировать. Для этого перейдем в RC mode (Viewer\RC Mode).

Смотрим параметры окна:

------- Исходное --------
156 DIALOG 6, 15, 175, 76
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP
FONT 8, "MS Sans Serif"
-------------------------

------- Измененное ------
156 DIALOG 6, 15, 175, 76
STYLE DS_SETFONT | WS_CHILD | WS_DISABLED
FONT 8, "MS Sans Serif"
-------------------------

Все теперь окошко появляться не будет, точнее оно будет не модальным и всплывающим (DS_MODALFRAME | WS_POPUP), а дочерним (WS_CHILD), и невидимым (WS_DISABLED).

Есть недостаток, т.к. окошко не видимо, то невозможно прервать процесс сканирования.

Можно также просто изменить размеры окошка, если не хочется менять тип окна (предыдущие изменения).

------- Измененное ------
156 DIALOG 6, 15, 1, 1
-------------------------

Можно также изменить тип кнопки "Scan", на нажимаемую по умолчанию (например, пробелом). Для этого редактируем файл "ui.exe". В ветке "Dialogs" ищем окошко с текстом

------- Исходное --------
CONTROL "SCAN",...
-------------------------

и изменяем тип на

------- Измененное ------
DEFPUSHBUTTON "SCAN",...
-------------------------

Это решает проблему, когда в процессе сканирования переключаешься на
другое окно и возвращаешься обратно к TWAIN-окну - при нажатии пробела
не всегда "нажимается" кнопка "Scan".

Автор: stas-ufa почтознак yandex.ru


Методики по работе с Corel PHOTO-PAINT от Arcand


Автор: Arcand, Отправлено:08:31 10-08-2006

По поводу сжатия. Я надолго застрял на отметке 9 кБ/стр (это о сжатии дежавю). Вроде бы сканы были хорошими и шрифт удобным, но никак не получалось увеличить сжатие. Теперь считаю, что дело в сглаживании. Неровности контуров, даже малозаметные, утяжеляют дежавю. Поэтому, с целью увеличения сжатия, сглаживание нужно делать обязательно.


Автор: Arcand, Отправлено:16:58 20-03-2007

Макросы - это программки, написанные на VBA. Некоторые отличия от VB имеются и связаны они в основном с тем, что макросы работают в среде программы (например, как у меня в Corel PHOTO-PAINT), а не автономно.


Автор: Arcand, Отправлено:18:45 29-11-2006

Применение Corel PHOTO-PAINT для обработки сканов

Говоря об обработке сканов в Корел нельзя обойти стороной СканКромсатор. При оптимальной организации работы Корела и СканКромсатора снижаются временные затраты на весь цикл кромсания-обработки, так и работы над ошибками.
Первым делом сканы поворачиваются. Для этого пишется отдельный скрипт Корел (Изображение->Повернуть->90 по или против часовой стрелки) и затем запускается пакетная обработка (о записи скрипта и его выполнении в пакетном режиме будет сказано ниже).
Далее сканы кромсаются в СканКромсаторе по полной программе с получением gray 300 дпи (предполагается, что исходные сканы также 300 дпи gray). Т.е. выполняется разрезка/обрезка, deskew и background cleaner. Despeckle выполняется отдельно, так как на серых сканах он не работает.
Одно замечание. Рекомендую установить порог в Low- или MiddleDark. Мне показалось, что СканКромсатор работает при этом пороге немного быстрее и качество deskew лучше. Во всяком случае одиночные номера страниц обрезаются реже, а если повысить соответствующую чувствительность, то у меня не обрезались даже номера, состоящие из одной цифры.
Потом запускается скрипт Корел для обработки сканов в пакетном режиме. Выходные сканы будут bw 600 дпи.
И в заключение, сканы снова загружаются в СканКромсатор (для чистки мусора). Отключаются все опции, устанавливается только Despeckle и его режим. После выполнения обработки, ручная чистка крупного мусора.

Описание обработок в Корел:

1. Адаптивное размытие. Эффекты->Размытость->Интеллектуальная размытость. В диалоге указать Количество 30-40. Если на сканах имеются бледные тонкие линии, то это число следует уменьшить.
2. Ресемплинг. Изображение->Изменить разрешение... В диалоге указать для Разрешения 600 дпи.
3. Цветокоррекция. Настройка->Увеличение контрастности. Движки сверху гистограммы установить соответственно на начало подъема (точка черного) и немного левее выхода на верхнюю полку (точка белого). Гамму можно не трогать. Результат лучше в этом и других диалогах наблюдать в сдвоенном окне просмотра (оригинал-результат). Навигация в окне (левом) такая: клик левой кнопкой мыши - увеличение, правой - уменьшение, для перемещения по скану - захватить левой кнопкой мыши и тащить.
4. Сглаживание. Эффекты->Размытость->Размывка края... В диалоге установить Процент 100, Радиус 1.
5. Контурная резкость. Эффекты->Повышение резкости->Понижение резкости по выделению... В диалоге установить Порог 0, Радиус 5, Процент 100-300. Меньшие значения процента для получения более гладких контуров букв, большие - для вытягивания их бледных перемычек.
6. Сглаживание. Эффекты->Размытость->Размывка края... В диалоге установить Процент 100, Радиус 1. Еще одно сглаживание. Чтобы при бинаризации получились более гладкие буквы.
7. Бинаризация. Изображение->Преобразовать в черно-белый (1 бит)... В диалоге выбрать Метод преобразования Штриховой рисунок и Порог 140-170. Порог подбирается визуально до получения оптимального баланса гладкость-ужирнение.

Запись скрипта и его выполнение в пакетном режиме.

Загружаете в Корел какой-либо скан. Далее Окно->Окна настройки->Запись. Открывается окно докера Записи макроса (в дальнейшем докер лучше не закрывать, а сворачивать, тогда докер будет находится у правой стороны окна и для открытия достаточно щелкнуть по его заголовку). Нажать кнопку с красным кружком для начала записи (слева от нее кнопка Останова). Выполняете указанные выше обработки. По окончании нажать кнопку Остановить. Сохраняете скрипт (кнопка Сохранить), например, в папку с исходными сканами и закрываете без сохранения окно со сканом.
Выполняете пакетную обработку Файл->Пакетная обработка... В диалоге загружаете сканы для обработки и созданный для них скрипт. Если не включена, включаете флажок Закрыть файл после пакетной обработки. Если обрабатываемые сканы вам не нужны, в окне После выполнения выбираете Сохранять вместо оригинала. В противном случае, выбираете Сохранять в другом каталоге и указываете папку назначения. Нажатием кнопки Воспроизвести запускаете обработку сканов. На моей машине 300 страниц обрабатываются около часа, что весьма шустро.

Последние замечания. Все описанное относится к русской версии Corel PHOTO-PAINT X3 и к обработке черно-белых книг без серых рисунков. Для обработки книг с небольшим количеством серых рисунком данную методику требуется немного дополнить. Но об этом как-нибудь в другой раз. С обработками я еще полностью не определился, так как пока сделал немного больше одной книжки. Надо иметь ввиду, чем качественнее обработка, тем лучше сжатие. По достижении некоторого порога по качеству, сказать какая обработка лучше только по виду сканов уже невозможно. Определить это можно только по степени сжатия дежавю.

И еще, на Кореловский тиф (bw, LZW сжатие) DEE ругается. Так что все равно придется делать их (сканов) преобразование. Заодно можно и почистить :).


Автор: Arcand, Отправлено:15:59 20-03-2007

Краткий конспект обработок в Corel PHOTO-PAINT:

для line art (в скобках название фильтра в русской версии Корела) -
1. Адаптивное размытие (Интеллектуальная размытость);
2. Ресемплинг до 600 дпи (Изменить разрешение);
3. Тоновая коррекция (Увеличение контрастности):
4. Сглаживание;
5. Контурная резкость (Понижение резкости по выделению);
6. Сглаживание;
7. Бинаризация (преобразовать в черно-белый).

для foto (серых областей) -
1. Адаптивное размытие (Интеллектуальная размытость);
2. Ресемплинг до 600 дпи (Изменить разрешение);
3. Тоновая коррекция (Увеличение контрастности).


Об обработке обложек

Автор: Arcand, Отправлено:05:43 25-02-2007

Подробнее про обложки позже. Коротко. Создаете маску отдельно для текста и других не фоновых элементов (сохраняете в альфа-канале). Используете выделение по цвету, волшебную палочку и кисть выделения. Абрис выделения размываете - чтобы переходы выглядели естественно. Создаете образцы растровой заливки - выбираете их на скане, для однородной заливки задаете цвет. Ну и выполняете заливку. Для многих случаев этого ИМХО хватит.


Дополнительно:


Автор: Arcand, Отправлено:16:07 10-12-2006

Обработка цветного с использованием каналов

Для примера книга напечатана тремя цветами: черным, красным и синим. В Кореле я применяю выделение по цвету красных элементов (выделяется диапазон, для чего удобно использовать модель HSB). Создаю красный альфа-канал. Далее точно также с синим (здесь можно поправить насыщенность цвета и др.). Преобразую скан в gray, делаю положенную обработку и в конце преобразую в bw. После этого скан преобразуется в RGB и на него последовательно накладываются каналы. При этом черный текст в выделении, созданном на основе альфа-канала, преобразуется в нужный. В итоге имеются цветные сканы с идеальными цветами и качеством, как при работе с gray сканами. Все это можно сделать в пакетном режиме. Я прикинул, что размер по сравнению с bw аналогом такой книги возрастет не намного, процентов на 25. Т.е. можно делать компактные и качественные цветные книги.


Автор: Arcand, Отправлено:16:16 21-12-2006

Ужирнение букв

Вариант с применением Корел. Преобразование в gray, Размывка края (ориентировочно Радиус=4) и в заключение бинаризация (Штриховой рисунок, порог подбирается по вкусу).


Автор: monday2000.

21 января 2008 г.

E-Mail  (monday2000 [at] yandex.ru)

Hosted by uCoz