Вернуться к разделу "Материалы по сканированию и оцифровке бумажных книг".
CorelScan
Автор: Arcand.
Введение
Это инструкция для nnevt по обработке черно-белых книг, содержащих, возможно, растровые (серые) рисунки. Инструментами являются ScanKromsator 5.9 и Corel PHOTO-PAINT X3. ScanKromsator используется для кромсания (разрезки разворотов, обрезки полей, выравнивания страниц, коррекции освещенности, чистки мусора), Corel PHOTO-PAINT - для обработки сканов. Обработки описываются в скриптах, пакетный обработчик Корела или макросы осуществляют пакетную обработку сканов.
Основное внимание будет уделено работе с Корелом, буду предполагать, что СканКромсатор Вы знаете в достаточной степени.
Установка макросов и настройка Корела
Рис. 1
Произведите настройки Инструменты->Параметры...
Установите масштаб при открытии. При обработке сканов макросами или пакетным обработчиком обязательно установить 100% (работа некоторых фильтров почему-то зависит от масштаба). При выделении рисунков удобнее установить масштаб По окну.
Далее, укажите цвет маски. По умолчанию используется красный цвет, если он устраивает Вас, то можно цвет не менять.
Для удобства выделения рисунков, расположите панель Выделение в области стандартной панели (открыть на панели инструментов инструменты выделения и перетащить их в нужное место). На рис 1. панель Выделение расположена правее выделенных красным панелей.
Проблемы. При закрытии Корела его процесс иногда остается в памяти. Если повторно запустить Корел, то макросы в этой ситуации не работают. Для решения проблемы, следует закрыть Корел и завершить в Диспетчере задач заблудившийся процесс.
Кромсание и обработка сканов
Создайте папку c:\Book\1 и скопируйте в нее содержимое папки 1 из архива. Положить в папку исходный скан (он у Вас должен быть). Дополнительно с инструкцией и макросами идут задания (и профили) СканКромсатора и скрипты. С их помощью на примере одного скана Вы можете провести тестовую обработку. Для работы с книгой Вы можете использовать их или создать свои.
Запись скрипта. Загружаете скан в Корел и отрываете окно докера записи макросов (если докер открыт и находится в свернутом состоянии, щелкаете по его закладке)
В докере нажимаете кнопку Запись (кнопка с красной точкой) и выполняете нужные обработки.
Потом нажимаете кнопку Остановить и сохраняете скрипт кнопкой Сохранить. Назначение кнопок узнаете с помощью всплывающих подсказок.
При использовании скриптов для пакетной обработки желательно их отредактировать. Обычно достаточно заменить одну строку в начале скрипта типа
.SetDocumentInfo 1964, 2875
на строки
W% = .GetDocumentWidth()
H% = .GetDocumentHeight()
.SetDocumentInfo W%, H%
В скриптах, где есть ресемплинг (обработка Изображение->Изменить разрешение...), потребуется дополнительно заменить строку типа
.ImageResample 2946, 4313, 600, 600, TRUE
на строку
.ImageResample 1.5*W%, 1.5*H%, 600, 600, TRUE
В Вашем случае исходное разрешение сканов 400 дпи, поэтому для получения 600 дпи множитель в команде равен 1.5. При исходном разрешении 300 дпи - 2.
1. Поворот сканов. Обычно все или
некоторые сканы требуется повернуть. Эта
операция осуществляется без потерь и ее можно
выполнить с заменой исходных сканов. Далее будет
предполагаться, что исходные сканы в формате TIF.
Создаете соответствующий скрипт - выполняете
одну команду Изображение->Повернуть->180°. После сохраняете
скрипт в папку со сканами, например под именем rotate180.csc.
Выполняете пакетное задание над исходными
сканами с использованием данного скрипта (Файл->Пакетная
обработка...). Сканы будут повернуты и
перезаписаны.
Если требуется повернуть четные сканы, в Total Commander выделяете их по шаблону *0.*;*2.*;*4.*;*6.*;*8.*, перемещаете во временную папку, обрабатываете и возвращаете на место.
Повернуть сканы можно с помощью
СканКромсатора - Service->Rotate & Save...
Делаете так, как Вам будет удобнее.
2. Предварительная обработка. Создаете скрипт preshare.csc с обработками:
1) Адаптивное размытие. Эффекты->Размытость->Интеллектуальная размытость...
Обычно Количество устанавливается в диапазоне 15-35. Обращать внимание на тонкие бледные линии, чтобы они не пострадали.
2) Автокоррекция. Настройка->Автонастройка.
Выполните пакетное задание над
исходными сканами с использованием скрипта preshare.csc
(Файл->Пакетная обработка...).
Сканы будут перезаписаны, поэтому следует
сделать архивную копию оригинальных сканов.
3. Кромсание. Запускаете
СканКромсатор и загружаете сканы (либо задание
book1.spt при тестовой обработке). Выполняете
черновое кромсание - кнопка Draft kromsate.
Применяете к сканам профиль gray2gray - File->Profiles...
и устанавливаете для всех сканов типичное
выравнивание. Проверяете расстановку резаков и
дополнительно уточняете для некоторых страниц
выравнивание и пр. Для сканов с рисунками может
потребоваться изменить метод коррекции
освещенности с Normal на Safe или Smart - если
происходит выбеливание рисунков при обычном
методе.
Можно покрамсать несколько страниц, чтобы
установить фиксированный размер страниц нужной
кратности.
После кромсания - кнопка Process! - в подпапке out папки 1 будут находиться покромсанные gray сканы.
4. Создание скриптов для обработки. Скрипты txtgrayscan.csc и fotograyscan.csc должны находиться в папке с покромсанными сканами out. Скрипт fotograyscan.csc может отсутствовать, если книга не содержит рисунков.
Создаете скрипт txtgrayscan.csc для обработки текста:
1) Ресемплинг. Изображение->Изменить разрешение...
2) Автокоррекция. Настройка->Автонастройка.
3) Сглаживание. Эффекты->Размытость->Сглаживание
В ряде случаев, сглаживание не делается. Например, когда из-за сглаживания страдают мелкие детали букв.
4) Контурная резкость. Эффекты->Повышение резкости->Понижение резкости по выделению...
Радиус в диапазоне 100-300. Остальные настройки фиксированы (для 600 дпи как на рисунке).
5) Сглаживание. Эффекты->Размытость->Сглаживание.
Можно выполнить дважды.
В случае проблемных сканов, когда сглаживание
портит мелкие детали, его лучше не делать, или
установить меньшие значения Процента.
6) Бинаризация. Изображение->Преобразовать в черно-белый (1 бит)...
Порог подбирается по вкусу, значение обычно в диапазоне 170-190.
При наличии рисунков создаете скрипт fotograyscan.csc для их обработки:
1) Удаление растра. В зависимости от типа растра применяется Сглаживание (Эффекты->Размытость->Сглаживание) или фильтр Медиана (Эффекты->Шумы->Медиана...)
Радиус подбирается таким, чтобы удалить растр и особо не размыть рисунок.
2) Ресемплинг. Аналогично, как при обработке текста.
4) Тоновая коррекция. Настройка->Увеличение контрастности...
Настройки подбираются такими, чтобы рисунок выглядел как нужно. Обрезкой входных значений со стороны светов удалить фон, обрезкой со стороны теней установить точку черного. При необходимости откорректировать средние тона (гамму) и др.
5. Выделение рисунков. Выполняется, если есть рисунки. Запускаете MaskScan (кнопка 1 рис. 1) и выполняете настройки как на рисунке.
После нажатия кнопки Готово будет загружен первый скан. Выделяете рисунки мышкой, используя подходящий инструмент на панели Инструментов выделения и режим выделения "-"
Используя различные инструменты и режимы выделения (выбираются на палитре свойств Выделения), можно выделять области любой сложности.
После выделения рисунков, щелкаете красную стрелку на панели навигации (кнопка 7, рис. 1) или нажимаете Пробел. Скан будет сохранен и осуществлен переход к следующему.
Если на скане нет рисунков, щелкаете по белой стрелке (кнопка 6, рис. 1), либо нажимаете на клавиатуре Esc.
Если в книге рисунков немного, можно записать в текстовой файл номера сканов (когда проверяете расстановку резаков после чернового кромсания) и переходить к сканам с рисунками по кнопке 5 (рис. 1).
Можно выходить из Корела и продолжить выделение рисунков позднее. После запуска Корела нажать любую кнопку навигации (5, 6 или 7) - будет загружен скан, на котором остановились.
6. Обработка сканов. Запустите ShareScan (кнопка 2 рис. 1) и выполните настройки как на рисунке. Результатом работы макроса будут обработанные сканы.
7. Чистка сканов.
Запускаете СканКромсатор и загружаете
обработанные сканы (либо задание book2.spt при
тестовой обработке). Щелкаете кнопку Clear all options
and mark all files, потом применяете к сканам профиль
Despeckle - File->Profiles...
Выполняете задание - кнопка Process!. После
выполнения дополнительно можно почистить сканы
вручную.
Для переноса результатов чистки в сканы с
рисунками запускаете DespeckleScan кнопкой 3 (рис. 1)
и выполняете настройки как на рисунке
После выполнения макроса (сканы без рисунков макрос пропускает) в папке out\out будут находится чистые bw сканы без рисунков и gray сканы с рисунками. Сканы в папке out останутся без изменений.
Пояснение: Результат чистки в серые сканы переносятся только из области текста, рисунки не трогаются.
Перед кодированием возможно придется перекодировать серые сканы в IrfanView, чтобы DEE или другой кодировщик на них не ругался. Для этого переместите серые сканы (сканы с рисунками) во временную папку и запустите батник LZW.bat, который скопируйте в эту же папку. Батник при необходимости поправьте - укажите правильный путь к IrfanView.
При работе над ошибками, нужные сканы загрузить в Корел и выполнить соответствующий макрос.
Кодирование
Для кодирования можно использовать DEE 5.1. Вариант с методом разделенных сканов будет рассмотрен в другой раз. Готовые сканы находятся в папке out\out.
Создаете два профиля my_bitonal600 и my_scan600. Проше добавить в конец файла профилей documenttodjvu.conf следующие строки:
#@displayName:my_bitonal600
my_bitonal600: bitonal600
pages-per-dict=1000
#@displayName:my_scan600
my_scan600: scan600
pages-per-dict=1000
pix-filter-level=0
shape-filter-level=100
resolution-multiplier=1
bg-subsample=3
threshold-level=100
aggressive=true
При кодировании книг без рисунков использовать профиль my_bitonal600, при кодировании книг с рисунками - my_scan600.
Пояснение. В случае профиля my_scan600 текст на сканах с рисунками должен целиком попасть в маску, рисунки большей частью в фон.
Приложение:
Скачать файлы к статье (831 КБ)
Автор: Arcand.