Как преобразовать старые отсканированные документы в черно-белые

25

У меня есть несколько старых документов, которые были отсканированы, и я хочу преобразовать их в черно-белые. Контент должен быть всегда черным, а фон белым:

введите описание изображения здесь

Я использую Photoshop.

user2496077
источник
Может быть очень сложно с таким темным фоном. Обычно вы делаете это с корректировкой уровней в Photoshop
Адам Шульд
Спасибо за ваши ответы очень помогли. У меня все еще были проблемы после перехода на черно-белое изображение, поэтому я немного поработал над уровнями, и у меня все еще продолжались некоторые проблемы. Так что я пошел в настройки и тени / блики. Это сработало очень хорошо, запуталось с ним по максимуму и привело его к одной темной тени к краю документа, использовало волшебную палочку на 90% от их и использовало ластик для очистки вокруг краев и текста. Увеличенный и раскрашенный, чтобы исправить пару букв. Я люблю фотошоп.

Ответы:

18

Если у вас есть контроль над сканированием, или вы можете отсканировать его, увеличьте настройку контрастности при сканировании и установите черную точку на самом темном бите текста, который вы можете найти. Это сделало бы шаги ниже легче. Если нет, то читайте дальше ...

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

Сканирование старого документа

Детали будут различаться в зависимости от документа (например, он несколько более контрастен, чем ваш образец), но общий контур будет таким же.

  • Преобразовать в оттенки серого, используя черно-белый корректирующий слой. Используйте Targeted Adjustment Tool («Scrubby») на панели корректирующего слоя, чтобы осветлить фон (вычистить вправо) и затемнить текст (вычистить влево) настолько, насколько это возможно.

Черно-белый корректирующий слой

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

  • Используйте корректирующий слой Levels, чтобы увеличить контраст.

Регулировка уровней

Это дает вам 95% пути туда. Отсканированный документ обычно имеет гистограмму с большим выступом справа (бумага) и меньшим выступом слева (текст). Вам придется экспериментировать с вашими документами, чтобы найти правильные настройки.

С этого момента вы можете дублировать изображение, сгладить его и использовать обычные инструменты ретуширования Photoshop, чтобы очистить оставшуюся часть.

Алан Гилбертсон
источник
Спасибо, я попробую третий вариант, вот что мне нужно :)
user2496077
1
Это двухступенчатый процесс. Используйте оба шага для достижения наилучших результатов.
Алан Гилбертсон
очень хороший тотальный даах хотел бы выполнить упражнение, чтобы изменить стиль, чтобы сделать легкую задачу
Ричард Ндегесе
11

Вы упомянули Photoshop, но в случае, если вам интересно, есть также плагин GIMP, который выполняет расширенную очистку и обработку в оттенках серого:

  • Удаляет спеклы
  • Заполняет белые поры черными чернилами
  • Удаляет определенные пользовательские фигуры
  • Повреждена линейная регенерация
  • Топологическая декомпозиция

Он называется Nuvola Tools и в основном сфокусирован на сканированном искусстве, но вы можете попробовать его.

До:

введите описание изображения здесь

После:

введите описание изображения здесь

Источник: Реестр плагинов GIMP

Yisela
источник
9

С GIMP:

  1. Откройте файл.
  2. Преобразуйте документ в оттенки серого: Изображение → Режим → Оттенки серого .
  3. Выберите цвет фона: Выберите → По цвету , кликните указателем мыши по цвету фона.
  4. Инвертировать выбранный цвет: Выбрать → Инвертировать .
  5. Скопируйте выбор: Редактировать → Копировать .
  6. Создайте новый файл: Файл → Новый .
  7. В диалоговом окне нового файла в поле: Дополнительные параметры выберите: Заполнить : белым , нажмите ОК.
  8. Щелкните в любом месте окна нового открытого документа, просто чтобы выбрать его.
  9. Вставьте содержимое буфера обмена: Правка → Вставить .
  10. Добавьте новый слой для улучшения черного текста: Слой → Новый из видимого , в палитре слоя, в поле: Режим : выберите Умножить .
  11. Объедините два слоя: Layer → Merge Down .
  12. Сохраните результат в виде файла JPEG: « Файл» → «Экспортировать как» , выберите «JPEG» и установите качество не менее 60.
Руслан
источник
Вау, это сработало на удивление хорошо! Спасибо чувак!
Альфредо Эрнандес,
Нашел этот путь быстрее, чем решение CS6. При печати за отсканированным изображением все еще оставался видимый сероватый фон.
user919426
2

Я пробовал различные упомянутые методы вкл. бесплатный FineThreshold http://www.mehdiplugins.com/english/finethreshold.htm плагин. Этот плагин быстро дает хорошие результаты при условии, что документ освещен однородно, а сама бумага также однородного качества. Однако это был не мой случай. Я понял, что верхняя сторона каждого документа была более светлой, чем нижняя. Следовательно, каждый метод и его частичная настройка работали хорошо только для части каждой страницы, а не для остальной части.

В конце концов я обнаружил эффект «Динамический порог», который является частью Zoner Photo Studio v15 . Я полагаю, что его версия на некоторое время бесплатна. Кажется, он компенсирует ч / б порог в соответствии с яркостью соседства. Его применение только за один шаг. Для меня параметры «Большой, значение +14» работали очень хорошо. Помимо «Редактора» Zoner содержит также интерфейс «Менеджера», в котором вы можете обрабатывать пакет по всем выбранным изображениям. В итоге я смог напечатать результат на очень старом лазерном принтере с разрешением 300 точек на дюйм с превосходной контрастностью.

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

user20152
источник
1

Был плагин в реестре плагинов GIMP, который сделал это. Это заархивировано здесь и сейчас.

Некоторое время назад я перевел это на Python, и он работал намного быстрее.

Вот результат его применения к изображению в оригинальном вопросе:

введите описание изображения здесь

Вот результат его применения к изображению в ответе Алана:

введите описание изображения здесь

В любом случае вот код плагина:

from __future__ import division
import random
import gimp, gimpfu

pdb = gimp.pdb

sample_count = 100

def set_image_background_to_white(image, drawable):
  pdb.gimp_context_push()
  pdb.gimp_image_undo_group_start(image)
  pdb.gimp_progress_set_text('Correcting background')

  if drawable.is_gray:
    channel_count = 1
  elif drawable.is_rgb:
    channel_count = 3

  assert not drawable.is_indexed

  # get some random points in the image
  sum_by_channel = [0]*channel_count
  for sample_index in range(sample_count):
    px = pdb.gimp_drawable_get_pixel(drawable,
                                     random.randint(0, pdb.gimp_drawable_width (drawable)-1),
                                     random.randint(0, pdb.gimp_drawable_height(drawable)-1))[1]

    for i in range(channel_count):
      sum_by_channel[i] += px[i]

    pdb.gimp_progress_update(sample_index/sample_count)

  if drawable.is_gray:
    pdb.gimp_levels(drawable, gimpfu.HISTOGRAM_VALUE,
                    0, sum_by_channel[0]/sample_count,
                    1.,
                    0, 255)
  elif drawable.is_rgb:
    for i in range(channel_count):
      pdb.gimp_levels(drawable, 1+i,
                      0, sum_by_channel[i]/sample_count,
                      1.,
                      0, 255)

  pdb.gimp_levels(drawable, gimpfu.HISTOGRAM_VALUE,
                  0, 255,
                  0.6,
                  0, 255)

  pdb.gimp_image_undo_group_end(image)
  pdb.gimp_displays_flush()
  pdb.gimp_progress_update(1.)
  pdb.gimp_context_pop()

gimpfu.register('set_image_background_to_white',           # name
                'Set image background to white',           # blurb
                'No help info yet',                        # help
                'Robert Fleming',                          # author
                'Robert Fleming',                          # copyright
                '2015',                                    # date
                '<Image>/Filters/Set Background to White', # menupath
                'RGB*, GRAY*',                             # imagetypes
                [],                                        # params
                [],                                        # results
                set_image_background_to_white,             # function
                )

gimpfu.main()
Роберт Флеминг
источник
-2

Просто попробуйте с фотошопом. режим серой шкалы.

Subeesh
источник
1
добро пожаловать в графический дизайн SE! Мы ищем более полные ответы, а не только одну строку. Можете ли вы объяснить, как это сделать в режиме серой шкалы?
Лучано