Вернемся к сканам книги. На краях и переплета после сканирования часто бывают черные полосы. Это тоже шум. От полезного сигнала, изображения текста, он отличается расположением в двумерном пространстве изображения страницы, поэтому отделить его легко руками и относительно легко автоматически. Стоит, однако, неплотно прижать толстую книгу при сканировании и черная полоса будет пересекаться с текстом. И всё, выделить текст в этом месте методами обработки изображения станет невозможно. Но если речь идет всего о 1-2 буквах в начале (конце) строки, мозг, почти на 100% восстановит недостающие буквы. Вдь ткст очн избтчн, при удални глснх всё ещ мжно пнть о чм рчь. Однако фильтрация и восстановление будет идти не изображения, а текста как последовательности букв и слов, с учетом их смысла, семантики.
Программа NeatImage, описанная в 1-ой части статьи использует другой критерий различения шума и сигнала – разницу в двумерных спектрах сигнала и шума. Обратите внимание: указывать где шум, а где сигнал нам пришлось самостоятельно. В иных случаях шум и сигнал могут поменяются местами. Например, криминалисту может быть задан вопрос: – "Где взята бумага, на которой написана жуткая записка?". И фактура бумаги была бы полезным сигналом, а изображение текста – шумом. В 3-й части статьи будет описана работа с фильтром Фотошопа Smart Blur. Там используются другие критерии разделения сигнала и шума.
Вывод
Нужно обязательно понимать, по какому критерию происходит разделение сигнала и шума в используемых вами процедурах фильтрации. Тогда можно будет выработать более эффективный метод обработки.
Ведь если мы по очереди применим несколько фильтров с разными критериями фильтрации, то результат будет хороший. Если же фильтры обрабатывают по одному и тому же критерию, то с какого-то момента, улучшения не будет, а то и начнется ухудшение разделения.
* * *
Photoshop: Curves
Здесь описана работа с Фотошопом, но подобный инструмент есть в любом достаточно мощном растровом редакторе: Gimp, Corel Photopaint, PaintShop Pro и др. Алгоритмы у всех одинаковы. Важно лишь наличие у редактора режима пакетной обработки.
Итак, инструмент Curves. Что, собственно, мы им сделаем? Это очень просто: разделим шум и полезное изображение по критерию яркости. Всё, что будет белее некоторого порога, станет максимально белым. Соответственно всё, что будет темнее некоторого порога, будет совершенно черным. Все наши усилия будут направленны как раз на установление этих порогов так, чтобы фон попал в белое, а текст – в черное. Имейте ввиду, если после предыдущих этапов обработки на изображении есть участки шума более темные, чем наиболее светлые участки текста, то Curves их не только не удалит, а наоборот – подчеркнет.
Вызываем Curves (Меню: Image -› Adjustments -› Curves или просто Ctrl-M). На Рис. 1 стрелками указаны две пипетки: "Уровень черного" и "Уровень белого". Орудуя ими по очереди мы и подгоним пороги так, чтобы текст было побольше, а шума поменьше. Серая пипетка нам не нужна. Кнопка в правом нижнем углу (подсвечена желтым) увеличивает окошко или делает его компактным.
Рис. 1
Перед вызовом Curves нужно увеличить изображение на весь экран так, чтобы были целиком видны 3-4 буквы. Обязательно должна попасть точка и запятая, буквы с мелкими деталями. Лучше выберите сильно зашумленный участок, там где шум более темный. По возможности выберите участок с мелким шрифтом, например текст сноски внизу страницы.
Теперь по очереди, чередую пипетки, щелкайте на белой – на участках с шумом, черной – на полезных участках картинки, на буквах.
Когда будет работать пипетками, контролируйте следующие критерии, они выбраны с учетом характерных ошибок FineReader'а:
– точка "." и запятая "," должны отличаться;
– белый участок внутри букв "е", "о", "R" и т.п не должен быть залит черным;
– мелкие детали букв должны быть различимы, например хвостик у курсивной " а ", она не должна превращатся в " о ";
– следите за "коромыслом" у буквы "й", точкой над "i" и другими подобными элементами букв;
– обратите внимание на верхние (и нижние) индексы, например значки и цифры, указывающие на сноску;
– мелкие разрывы в вертикальных участках широких букв – "м", "ш" – не страшны;
– в горизонтальных/наклонных участках букв "н", "и", "п" разрывов быть не должно. FR немедленно начинает их путать;
Читать дальше