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

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

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

Я использую Фотошоп.

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

Ответы (6)

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

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

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

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

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

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

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

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

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

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

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

Спасибо, попробую третий вариант, это то, что мне нужно :)
Это двухэтапный процесс. Используйте оба шага для достижения наилучших результатов.
очень хороший toturial daah хотел бы сделать упражнение, чтобы изменить стиль, чтобы упростить задачу

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

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

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

До:

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

После:

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

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

С ГИМП:

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

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

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

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

В реестре плагинов 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()

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

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