Как почистить сканы книг и сделать книгу - [3]

Шрифт
Интервал

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

Критикуйте, дополняйте эту статью (это касается всех частей)- ведь это выгодно всем.

* * *
Философское отступление

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

Если влом читать неконкретные вещи, то можно сразу перейти к Photoshop: Curves, всё, что там написано, можно понять и не читая раздел Философское отступление

Итак, пару слов о шуме (помехе), (полезном) сигнале и фильтрации, в самом общем плане, безотносительно к обработке изображения.

Сигнал.

Имеется ввиду полезный сигнал. Сигнал – это то, что нам нужно…

Это исчерпывающее определение. Например, сигналом может быть часть картинки – изображение текста в примере, который мы разбираем. Или голос исполнителя в музыкальном клипе. Или правда в речах политика, если она там есть. И всё, что угодно.

Шум.

А шум, помеха, это то, что нам не нужно. Например фон текста на картинке (фактура бумаги, пятна, следы грязи на стекле сканера). Или звучание музыкальных инструментов в муз. клипе, если мы хотим выделить голос исполнителя. Или вся речь политика, если правды там нет.

Фильтрация, это процесс разделения сигнала и шума. Это может быть некое электронное или механическое устройство, компьтерная программа. Разум слушателя, если речь идет о словах политика…

Для того, чтобы фильтрация была осуществима, сигнал и шум хоть в чем-то, но должны отличаться. Т.е. мы должны найти параметры, свойства, по которым отличаются шум/сигнал и увеличить это различие.

Вернемся к сканам книги. На краях и переплета после сканирования часто бывают черные полосы. Это тоже шум. От полезного сигнала, изображения текста, он отличается расположением в двумерном пространстве изображения страницы, поэтому отделить его легко руками и относительно легко автоматически. Стоит, однако, неплотно прижать толстую книгу при сканировании и черная полоса будет пересекаться с текстом. И всё, выделить текст в этом месте методами обработки изображения станет невозможно. Но если речь идет всего о 1-2 буквах в начале (конце) строки, мозг, почти на 100% восстановит недостающие буквы. Вдь ткст очн избтчн, при удални глснх всё ещ мжно пнть о чм рчь. Однако фильтрация и восстановление будет идти не изображения, а текста как последовательности букв и слов, с учетом их смысла, семантики.

Программа NeatImage, описанная в 1-ой части статьи использует другой критерий различения шума и сигнала – разницу в двумерных спектрах сигнала и шума. Обратите внимание: указывать где шум, а где сигнал нам пришлось самостоятельно. В иных случаях шум и сигнал могут поменяются местами. Например, криминалисту может быть задан вопрос: – "Где взята бумага, на которой написана жуткая записка?". И фактура бумаги была бы полезным сигналом, а изображение текста – шумом. В 3-й части статьи будет описана работа с фильтром Фотошопа Smart Blur. Там используются другие критерии разделения сигнала и шума.

Вывод

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

Ведь если мы по очереди применим несколько фильтров с разными критериями фильтрации, то результат будет хороший. Если же фильтры обрабатывают по одному и тому же критерию, то с какого-то момента, улучшения не будет, а то и начнется ухудшение разделения.

* * *
Photoshop: Curves

Здесь описана работа с Фотошопом, но подобный инструмент есть в любом достаточно мощном растровом редакторе: Gimp, Corel Photopaint, PaintShop Pro и др. Алгоритмы у всех одинаковы. Важно лишь наличие у редактора режима пакетной обработки.

Итак, инструмент Curves. Что, собственно, мы им сделаем? Это очень просто: разделим шум и полезное изображение по критерию яркости. Всё, что будет белее некоторого порога, станет максимально белым. Соответственно всё, что будет темнее некоторого порога, будет совершенно черным. Все наши усилия будут направленны как раз на установление этих порогов так, чтобы фон попал в белое, а текст – в черное. Имейте ввиду, если после предыдущих этапов обработки на изображении есть участки шума более темные, чем наиболее светлые участки текста, то Curves их не только не удалит, а наоборот – подчеркнет.

Вызываем Curves (Меню: Image -› Adjustments -› Curves или просто Ctrl-M). На Рис. 1 стрелками указаны две пипетки: "Уровень черного" и "Уровень белого". Орудуя ими по очереди мы и подгоним пороги так, чтобы текст было побольше, а шума поменьше. Серая пипетка нам не нужна. Кнопка в правом нижнем углу (подсвечена желтым) увеличивает окошко или делает его компактным.


Рекомендуем почитать
Графика DirectX в Delphi

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


Вторая жизнь старых компьютеров

Сейчас во многих школах, институтах и других учебных заведениях можно встретить компьютеры старого парка, уже отслужившие свое как морально, так и физически. На таких компьютерах можно изучать разве что Dos, что далеко от реалий сегодняшнего дня. К тому же у большинства, как правило, жесткий диск уже в нерабочем состоянии. Но и выбросить жалко, а новых никто не дает. Различные спонсоры, меценаты, бывает, подарят компьютер (один) и радуются, как дети. Спасибо, конечно, большое, но проблемы, как вы понимаете, этот компьютер в общем не решает, даже наоборот, усугубляет, работать на старых уже как-то не хочется, теперь просто есть с чем сравнивать.


DirectX 8. Начинаем работу с DirectX Graphics

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


Симуляция частичной специализации

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


Обработка событий в С++

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


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.