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


Устранение кривизны строк и перекоса текста в Book Restorer 4.1

При сканировании книг иногда не удаётся плотно прижать к стеклу сканера область около корешка книги (для обеспечения правильности сканирования). Так бывает, когда корешок книги сшит слишком жёстко и тесно. Как правило, такое встречается в случае очень толстых книг, но не всегда.

В результате получаются сканы книжных страниц с геометрическими искажениями строк текста.

Бывают разные виды таких искажений. Некоторые из них можно частично исправить при помощи программы Book Restorer v4.1 Eng (8,9 МБ). Эту программу (а также русификатор к ней (2,2 МБ)) можно скачать в разделе DjVu-программы. Пользуясь случаем, хочу поблагодарить romanef, который нашёл эту программу и сделал её краткое описание, а также Arcand, который перепаковал нужным образом и русифицировал её.

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

ВНИМАНИЕ: Нередко небольшая часть сканов (5-15%) сильно уродуется при обработке - поэтому всегда проверяйте вручную результаты работы программы, и заменяйте поуродовавшиеся сканы исходными.

В этой статье мы рассмотрим 2 вида геометрических искажений:

1). Искривление строк.

2). Перекос текста со сдвигом.

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

Рассмотрим подробнее эти 2 вида искажений.

Искривление строк

При таком искажении края самых верхних строк загибаются вниз, а края самых нижних - вверх.

На рисунках ниже показан пример скана с искажением строк до и после обработки в Букресторере:

Рис. 1. Скан до обработки в Букресторере.

Рис. 2. Скан после обработки в Букресторере.

Конечно, искривленные строки корректируются зачастую не полностью, однако всё равно эффект от обработки довольно значителен. Кроме Букресторера, исправлять такое геометрическое искажение строк умеет также ABBYY FineReader v8.0, но там качество этой операции гораздо ниже.

Рассмотрим пошаговый алгоритм коррекции искривленных строк в Букресторере.

Алгоритм коррекции строк

1. Запускаем Book Restorer v4.1 Eng. Создаём новую книгу ("книга" - это аналог файнридеровского пакета в Букресторере): меню Book -> New. Назовём её, например, "book". После нажатия OK соглашаемся с созданием новой папки. На жёстком диске при этом создастся новая папка - "C:\book" - это и есть наша новая книга. В левой панели "Book explorer" появится дерево созданной книги.

2. Заполняем книгу сканами, подлежащими обработке: меню Insert -> Automated Import. В появившемся окне Import options в поле Source folder вводим путь к папке со сканами, в поле Type выбираем TIFF (*.tif). После нажатия на OK книга начнёт автоматически наполняться сканами. Как только все сканы загрузятся в книгу, продолжаем дальше.

3. Выделяем все сканы: меню Edit -> Select all.

4. В дереве обработок делаем двойной клик на узел Geometrical correction:

5. В появившемся окне Geometrical correction отжимаем все нажатые кнопки группы Detection (чтобы отменить все ненужные операции):

Затем на рисунке кликаем на зелёных линиях Text lines detection - так, чтобы эти линии приняли красный цвет:

Нажимаем OK - начинается постраничная обработка, заданная нами. Вообще, если к сканам нужно применить 2 или более операции, то записывается скрипт в виде набора операций и уже этот скрипт применяется к сканам. Здесь же всего лишь одна операция, поэтому скрипт писать не надо.

6. После окончания пакетной обработки меняем нотацию нумерования страниц: в дереве книги кликаем правой кнопкой мыши на узел Standart page и выбираем в контекстном меню пункт Properties:

на вкладке Numbering в поле Format выбираем значение "0001,0002,0003,..." и нажимаем OK. При этом сразу же поменяются имена соответствующих узлов в дереве книги.

7. Теперь нам надо получить наши обработанные сканы из Букресторера (я их называю "тифы" - т.к. они имеют расширение *.tif). Они находятся в нашей книге "book" в собственном формате Букресторера - и нам надо их оттуда экспортировать в формат *.tif в некую пустую папку.

Экспорт готовых тифов делаем так: выбираем в меню Book -> Publish. В появившемся окне Publish выбираем папку Destination folder (куда будут экспортированы готовые тифы), удостоверяемся, что селектор Pages стоит в положении All, в полях Type of files и Color range ставим значения, зависящие от вида наших сканов, например, Type of files = G4-compressed TIFF (*.tif) и Color range = Binary. Нажимаем OK и программа начинает экспорт файлов.

8. Всё готово, закрываем программу и удаляем с диска уже не нужную нам книгу  (т.е. папку C:\book).

Перекос текста со сдвигом

При таком искажении строки текста выглядят горизонтальными, как им и положено, но вертикальные левый и правый обрезы текста не отвесны. Так выглядит толстая пачка бумаги, если её бросить на стол чуть под углом к его поверхности.

На рисунках ниже показан пример скана с перекосом текста со сдвигом до и после обработки в Букресторере:

Рис. 3. Скан до обработки в Букресторере.

Рис. 4. Скан после обработки в Букресторере.

Алгоритм обработки таких сканов аналогичен предыдущему, разница лишь в том, что в окне Geometrical correction мы выбираем другую корректирующую подопцию - Left and right paragraph borders detection:

ct09.gif (25968 bytes)

Заключение

Оба вида обработки - исправление искривления строк и перекоса текста со сдвигом - можно совмещать и делать как одну обработку.

Для пакетной обработки можно также использовать встроенную программу BKR Automate v4.1, вызываемую из пункта меню View -> Automaton.

В случае возникновения каких-либо ошибок можно посмотреть их причину в лог-файле внутри книги, который имеет то же имя, что и книга, и расширение *.txt (в нашем случае это book.txt).

Можно даже сделать "откат" для любой из страниц (если она получилось неудачно) нажатием кнопки и обработать её вручную (в принципе, переобработать вручную можно и без отката). Но вообще-то особой нужды проверять результат в Букресторере нет, идельного результата вы всё равно не достигнете, а тратить время на каждый отдельный скан из пакета нецелесообразно.


Автор: monday2000.

21 июня 2006 г.

Исправлено: 3 ноября 2007 г.

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

Hosted by uCoz