2012-03-07 3 views
2

У меня есть много сканирований текстовых страниц (черный текст на белом фоне).Очистка отсканированных изображений в оттенках серого с ImageMagick

Мой обычный подход заключается в очистке тех, в Gimp с помощью кривых диалог, используя довольно простую кривую только четыре момента: 0,0 - 63,0 - 224255, 255255

Это делает все сероватый текст смоль плюс делает текст более резким и превращает большинство беловатых пикселей в белый цвет.

Как добиться такого же эффекта в скрипте с помощью ImageMagick или другого инструмента Linux, который полностью запускается из командной строки?

-normalize или -contrast-stretch не работают, потому что они работают с подсчетами пикселей. Мне нужен оператор, который может сделать черный цвет 0-63 (оттенки серого), все выше 224 чисто белого цвета, а остальные должны быть нормализованы.

ответ

4

The Color Modifications page показывает множество алгоритмов манипуляции цветом ImageMagick.

В данном конкретном случае, два алгоритма интересен:

-level дает вам идеальные черные/белые пиксели вблизи концов кривых и линейное распределения между ,

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

Чтобы получить аналогичный результат, как в GIMP, вы можете попробовать применить один за другим (чтобы текст и черные области были действительно черными).

Во всех случаях вам нужно сначала запустить -normalize (или даже -contrast-stretch, чтобы объединить большую часть шума), чтобы убедиться, что уровни черного/белого не пропали даром. Без этого самый темный цвет может быть легче, чем rgb(0,0,0), а самый яркий цвет может быть ниже чистого белого.

+7

Я успешно преобразовал большой набор Доре Вудлинтинга, отсканированный, с 'для файла в *; do mogrify -normalize -level 27%, 76% $ file; done'. Я нашел 27% и 73%, экспериментируя с кривым инструментом в gimp. – berkes

 Смежные вопросы

  • Нет связанных вопросов^_^