2

Рассмотрим следующий фрагмент чека, который я отсканировал:

обычно, когда я сканирую квитанции, мне удается разделить текст и фон, используя что-то вроде инструмента выбора цветового диапазона, расширения выделения, растушевки, затем инвертируя выделение и окрашивая фон в белый цвет. Затем я могу поиграть с уровнями изображения, не беспокоясь о чрезмерном выделении фона. Я делаю все это с Gimp (и Photoshop делает такие вещи тоже).

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

Мой вопрос: что я могу сделать, чтобы подчеркнуть серый текст на изображениях такого типа, не выделяя при этом помятости / тени на странице?

Заметки:

  • Цвет - это оборотная сторона квитанции, а не водяной знак, но он также мог быть водяным знаком.
  • Это, вероятно, термобумага, но вопрос актуален и для нетермической бумаги.
  • Мне не нужно ничего распознавать.
  • Для меня важно не потерять кусочки писем, даже ценой наличия нескольких нетекстовых артефактов.
  • Этот текст на иврите, но это не должно иметь значения.
  • Пример уже после небольшой игры с уровнями.

2 ответа2

2

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

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

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

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

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

Если вам нужно проявить агрессию, чтобы устранить тяжелый фон, как в вашем образце изображения, вы можете получить чистую печать, но с пробелами, когда части символов были слишком похожи на фон. Используйте инструмент выбора по цвету и установите очень большой номер допуска (широкий цветовой диапазон; на этом этапе все, что имеет цвет, отдаленно похожий на печать, должно печатать). Выберите печать. Используйте растушевку, чтобы увеличить границу на несколько пикселей, что добавит много пробелов.

Используйте это как маску на оригинале, чтобы извлечь печать. Затем вы также можете смешать обе версии (я обычно использую яркость), что объединит преимущества каждой из них.

Но начните с самого чистого изображения, которое вы можете получить, избавившись от как можно большего количества морщин. Если вы собираетесь попробовать выровнять квитанцию, попробуйте сначала в области, далекой от печати. Если это термобумага, вы сделаете ее темной. Кстати, лента или пленка для холодного ламинирования также потемнеют термобумагу. Даже некоторые виды нетермальной бумаги могут потемнеть от жары.

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

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

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

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

При необходимости вы можете "ретушировать" результат, вручную заполняя очевидные промежутки на увеличенном изображении.

1

Глобальная регулировка контрастности (с помощью IrfanView, ниже) дала изображение, которое мне показалось более четким. Хотя это может не соответствовать вашим потребностям при этих настройках, вы можете настроить контраст и видеть изменения в режиме реального времени. Кроме того, устранение красных и зеленых каналов может избавить от синих складок. Кстати, IrfanView хорошо работает как в Wine, так и в Windows, хотя и не такой мощный редактор изображений, как GIMP.

Настройки IrfanView

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .