Вернуться к разделу "СканКромсатор v5.6A. Пособие по программе".
В своей статье о СканКромсаторе vadimir предложил приём улучшающей обработки сканов - повышающий ресемплинг с одновременным применением 2 фильтров - Blur и Sharpen (в СканКромсаторе). О том, что такое ресемплинг, можно прочитать в моей статье Что такое DPI и ресемплинг.
Я провёл ряд натурных экспериментов с целью изучения особенностей и возможностей этой операции. Правда, из статьи vadimir неясно, какие сканы подвергались повышающему ресемплингу - серые или чёрно-белые, я использовал только чёрно-белые.
По результатам экспериментов выяснилось, что все 3 фильтра на вкладке Quality в Кромсаторе - Smooth, Blur, Sharpen - практически полностью эквивалентны друг другу (по производимому эффекту). По крайней мере, в отношении чёрно-белых сканов. Сравнение производилось по готовым DjVu-файлам, созданным из тестовых сканов, путём быстрого попеременного переключения DjVu-файлов. При таком способе сравнения достигается "мультипликационный эффект": глаз замечает мельчайшую разницу в деталях 2 вариантов одной и той же страницы.
Разница по фильтрам была обнаружена лишь в отдельных крайне редких буквах, которые просто чуть-чуть меняют свою форму. Поэтому применять именно связку "Blur + Sharpen" практически не имеет смысла, это просто увеличивает в 1,5 раза (замерянное) время обработки сканов. Вполне достаточно использовать один из этих 3 фильтров (любой), например, Smooth.
Все эти фильтры ужирняют буквы. При этом значительно улучшается вид бледного и плохо пропечатанного текста (со слабыми перемычками букв), а также скругляются зазубренные и ступенчатые буквы.
На вкладке Quality любому из этих 3 фильтров можно назначить желаемое количество проходов обработки (каждого скана) - от 1 до 5. Были испробованы все 5 вариантов, и выяснилось следующее:
Количество проходов:
1 - 4: Качество текста неизменно, только размер tif-файла чуть растёт от 1 к 4.
5: Качество текста получается хуже.
Делаем вывод, что оптимально использовать количество проходов = 1 (для наилучшего быстродействия).
На вкладке Options есть поле Resample filter. Здесь можно выбрать, по какому алгоритму будет осуществляться повышающий ресемплинг в нашей обработке сканов. Были испробованы все варианты значений фильтров, и оказалось, что:
Интерполяционные фильтры:
Самый плохой (по качеству) - Linear
Получше - Lanczos3
Самый лучший:
Fast linear, Bilinear, Bicubic - все 3 абсолютно эквивалентны. Замеренная скорость обработки - одинаковая, секунда в секунду.
Вывод:
Ужирнение букв удобнее всего делать так:
DPI = 600
Smooth = 1
Resample filter = Bicubic
В целом, читабельность текста значительно улучшается после применения такой операции. Но, в то же время, и размер результирующего DjVu-файла возрастает в 1,5-2 раза! На мой взгляд, эту операцию не следует применять при самостоятельном создании DjVu-книг - достаточно лишь качественно отсканировать бумажную книгу. Но такой подход становится совершенно незаменимым при переделке чужих некачественных DjVu-книг (только таких, где текст плохо пропечатан) - когда исходные сканы недоступны, а переделанная в нормальный вид книга становится почти что совсем не читабельной (или неприятно-читабельной). В этом случае такая операция (или аналогичная) - единственный выход, т.к. в противном случае переделанную книгу можно просто выбросить из-за крайне низкой читабельности.
1. Запускаем СканКромсатор v5.6A. Загружаем обрабатываемые tif-файлы. Выбираем в меню Edit -> Clear all options.
2. На вкладке Files ставим галку Default в поле Output dir. В поле DPI ставим значение 600 dpi.
3. На вкладке Options в поле Resample filter выбираем значение Bicubic.
4. На вкладке Quality - самое интересное. Здесь делаем в точности следующее:
a. Ставим галку Enhance image.
b. Кликаем в списке на последний файл, нажимаем кнопку Apply up to current. При этом на всех файлах в списке проставятся жирные зелёные галочки.
c. Нажимаем на клавиатуре Ctrl и ставим галку Smooth. В появившемся диалоге соглашаемся применить опцию ко всем файлам.
5. Нажимаем кнопку Process. В появившемся диалоге соглашаемся с изменением DPI выходных файлов. Начинается процесс обработки.
6. По окончании процесса обработки забираем обработанные tif-файлы из выбранной ранее Output dir. В процессе обработки может вылететь ошибка: что-то вроде "Неправильно установленный параметр". Это значит, что вы выполнили п.4 алгоритма не в абсолютной точности. Это, скорее всего, один из глюков Кромсатора.
В левой части примеров показан скан до обработки, в правой части - после. Примеры сделаны на базе скриншотов готовых DjVu-файлов, открытых в WinDjView. Во всех примерах переделывается некая низкокачественная чужая DjVu-книга, так что исходные сканы отсутствуют. Во всех случаях применение ужирнения текста вызвало рост размера результирующего DjVu-файла в 1,5-2 раза по сравнению с контрольным DjVu-файлом. Однако, на мой взгляд, повышение читабельности DjVu-файла оправдывает рост его размера (по крайней мере, при переделке чужих "плохих" книг).
Пример № 1.
Текст крупнозернистый, "ломанный". Читабельность хоть и удовлетворительная, но читать такую книгу тяжело и неприятно - быстро устают глаза. |
Текст стал гораздо более гладким, буквы - скруглёнными. Глаза теперь испытывают гораздо меньшее напряжение. Правда, и яркость букв сильно возросла, но это можно подкорректировать увеличением гаммы в WinDjView с 1,0 до 2,0 (Меню: Файл -> Настройки -> Отображение). |
Пример № 2.
Здесь мы видим, что исходная книга практически совершенно не читабельна (много разрывов в буквах) и её хоть выбрасывай в помойку. Единственный выход - применить описываемую процедуру ужирнения текста. |
Конечно, читабельность стала вовсе не идеальной, но хотя бы удовлетворительной. Конечно, осталось много разрывов в буквах, но всё же общее впечатление такое, что "книгу можно читать". |
Пример № 3.
Пример аналогичный первому. Тоже удовлетворительная читабельность. Но текст всё же "ломанный", но на этот раз - мелкозернистый, контуры букв покрыты микрозубчиками. Читать такую книгу лишний раз не захочется. |
Здесь эффект получился почти такой же, что и в первом примере, и даже лучше - буквы стали не такими яркими. При желании можно, аналогично предыдущему примеру, увеличить гамму в WinDjView с 1,0 до 1,5 (до 2,0 будет многовато). |
Пример № 4.
В этом примере мы видим, что буквы сильно истончённые, изъеденные, сильно-разрывные. Хотя, как ни странно, читабельность всё же удовлетворительная - за счёт того, что не потеряны перемычки букв (за счёт правильного выбора порога при конвертации grey->bw в Кромсаторе). Естественно, что читать такую книгу - это просто портить свои глаза. |
Результат получился очень хорошим, аналогичный предыдущему примеру. Читабельность очень хорошая и на текст приятно посмотреть. Правда, немного ярковато, так что не помешает поднять гамму в WinDjView с 1,0 до 1,5. |
Пример № 5.
В этом (последнем) примере показан случай, когда ужирнение текста можно и не делать - читабельность и так довольно неплохая. Единственное, что тут контуры букв не "мягкие", а резкие, это немного колет глаз. Хотя это не так уж и существенно. |
Текст заметно стал ярче, так что повышение гаммы в WinDjView с 1,0 до 1,5 просто показано. Что изменилось? Главным образом то, что читать такой текст стало гораздо приятнее, т.к. контуры букв стали более мягкими, т.е. как бы "плавно переходящие на нет". |
В заключение хотелось бы ещё раз подчеркнуть, что изначально качественно отсканированная книга даёт результирующий DjVu-файл, аналогичный последнему примеру после обработки - т.е. с "мягкими" буквами, так что не возникает нужды применять описанное ужирнение букв, которое привело бы в таком случае к неоправданному росту размера файла.
Автор: monday2000.
23 июня 2006 г.
E-Mail (monday2000 [at] yandex.ru)