Помогите почистить скан

Статус
Закрыто для дальнейших ответов.

xseed

Участник
Топикстартер
Сообщения
118
Реакции
1
Собственно, с чего начать чистку вот этого скана? На выходе должен получиться ч/б Bitmap. Дело в том. что я не могу добиться оптимального сочетания между удалением шума и избавлением от дырок в тексте. Либо первое остается, либо удаляется, но тогда дырявится текст.

Пока для этих целей использую такую связку. Чтобы подчеркнуть края букв, делаю unsharp mask 500 1 0 для копии изображения в отдельном слое, затем делаю Color range 0 и слою удаляю. Все, что не попадает под выделение, стираю (Fill White). Затем вручную подбираю Threshold. Вот здесь-то и кроется та самая проблема .Thresh отсекает ненужное, либо оставляет мусор.
Тем не менее, далее продолжаю обработку. Чтобы избавиться от мусора определенного размера, я использую сглаживание выделения Select- Modify - Smooth 8 и Fill: White. Но чтобы защитить текст от столь радикального Smooth, использую следующий прием: Делаю Col. range 0 и начинаю последовательно сдвигать выделение горизонтально вправо с кумулятивным приращением (через Transform Selection делаю относительно приращение по X на 1 пиксель и затем Interselect Selection через Load Selection и делаю так 16 раз (зависит от размеров букв и расстояния между буквами), после чего сохраняю выделение и сдвигаю его на 16 пикселей назад и делаю логическое И с сохраненным. Потом делаю Smooth. Если же после Smooth выделение все таки наехало на текст, исправляю его с помощью Grow, Inverse, Grow. После заливаю белым невыделенную области фона вместе с мусором. Затем пытаюсь избавиться от дырок в тексте, тоже с помощью Smooth: 1 и Fill: Black. Тут беда в том, что большое значение Smooth выставить нельзя, т.к. буква "е" зальется. Т.е. делаю опять Col. Range 0, Smooth 1, Inverse, Fill: Black. Чтобы избавиться от мусора между буквами, делаю такой же кумулятивный сдвиг, как выше, но только вертикально на 8 пикселей и Smooth 4.

Если хотите подробно, вот Action
Вообщем, как решить дилемму мусора и дырок? У кого какие мысли?
 

Igor Bon

пользователь
20 лет на форуме
Сообщения
1 486
Реакции
1 256
Протирка стекла сканера безворсовой салфеткой с антистатиком
выставление диапазона - черного-белого на прескане
Уровни - (в данном случае - 130, 243)
Аншарп - 300, 1, 0
 

splxgf

12 лет на форуме
Сообщения
7 740
Реакции
3 421
Обычные уровни, яркость/контраст.
 

xseed

Участник
Топикстартер
Сообщения
118
Реакции
1
Протирка стекла сканера безворсовой салфеткой с антистатиком
выставление диапазона - черного-белого на прескане
Сканы мне достались от другого человека, а он в свою очередь,взял книгу у третьего. Т.е. других сканов не предвидится.
Уровни - (в данном случае - 130, 243)
Аншарп - 300, 1, 0
Вот что получилось: http://yadi.sk/d/3Ym9tpxOAPGDP. По-вашему, не очень удачный вариант, хоть и за 2 шага.
 

xseed

Участник
Топикстартер
Сообщения
118
Реакции
1
Повторюсь, на выходе должно быть изображение Bitmap.
 

xseed

Участник
Топикстартер
Сообщения
118
Реакции
1
Расскажите мне пожалуйста, как для этих целей пользоваться Neat Image, желательно поподробнее, с картинкой, может он поможет?
 

splxgf

12 лет на форуме
Сообщения
7 740
Реакции
3 421

xseed

Участник
Топикстартер
Сообщения
118
Реакции
1
Неплохо, но дырочки в буковках все же присутствуют. А что это за комбинация unsharp mask вправо, вправо, влево.
Т.е. сначала я делаю unsharp, а потом сдвигаю вправо на 2 px и совмещаю со сдвинутым на 1 px?
 

splxgf

12 лет на форуме
Сообщения
7 740
Реакции
3 421
А что это за комбинация unsharp mask вправо, вправо, влево
Не, это комбинация ползуночков.
Максимум что тут требуется нормальный фильтр контраста, где-то на форуме выкладывался.
Дырки в буквах красоты не портят, главное что остаются дырочки там где они должны быть.
 
  • Спасибо
Реакции: xseed

imma

15 лет на форуме
Сообщения
3 089
Реакции
2 185
В grayscale, притемнить текст (уровни и т.п.), а затем наложить один (два) слой в режиме умножения. Можно подобрать разный unsharp mask для разных слоев.

Доп.: перевести в RGB, selective colours, добавить черный в черный.
 
  • Спасибо
Реакции: xseed

xseed

Участник
Топикстартер
Сообщения
118
Реакции
1
Понял. Попробую разобраться. Вот тут попробовал вот подвертеть Custom-фильтр согласно рекомендации.
0 0 255
0 255 255
255 255 255
Пока не очень, текст рассыпается на треугольники.
 

splxgf

12 лет на форуме
Сообщения
7 740
Реакции
3 421
Ближе к адаптивному Threshold, но найти не смог.
На самом деле отличные сканы, лучше их не сделать, главное не испортить.
 

Igor Bon

пользователь
20 лет на форуме
Сообщения
1 486
Реакции
1 256
Бит мап подразумевает 1200ppi Данный лист, хоть и имеет 600ppi, но пиксельные размеры явно меньше чем при скане с этим разрешением печатного листа - необходимо первым делом привести размеры в порядок и увеличить до реального размера при разрешении 600ppi
Что мешает подсунуть распознавалке текста, то что получается после моего алгоритма? - Получите идеальный текст.
 
Последнее редактирование:

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
На таком скане otsu выдаст порог равный 128, и к бабке не ходи.
А вообще, оригинал ценности не несет никакой, это не книга начала века... я бы тоже распознал и дело с концом
 

xseed

Участник
Топикстартер
Сообщения
118
Реакции
1
А вообще, оригинал ценности не несет никакой, это не книга начала века...
Кому как... А насчет распознавания, скажу, что с сохранением форматирования возникнет еще больше гебни, чем с чисткой скана, особенно с подбором шрифта и межбуквенного расстояния. Я чищу для того, чтобы ClearScan-у легче скармливать, чтобы было меньше проблем с распознаванием, типа слипшихся и перезалитых букв и мусора. Спасибо за ваш Reprint Master. Я просто предположил, что otsu-метод еще лучше обработает изображение. Эх, вот если бы был такой плагин, который ищет повторяющиеся растр, и удалял мусор на повторяющихся буквах, как бы распознавание не с целью перевода в векторный формат, а с целью чистки растрового скана.
 
Статус
Закрыто для дальнейших ответов.