Удаление фона методом сберегающей дискриминации

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

  В предыдущей статье рассказывалось о том, как с помощью дискриминации цвета можно избавиться от светлой каймы в контрастных местах цифровой  фотографии предмета или персонажа на белом фоне http://proza.ru/2023/07/29/1155
  Некоторую сложность представляло восстановление потерянного в результате дискриминации цвета в тех местах, которые не являются фоном.

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

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

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

  Для опробования метода сберегающей цвет дискриминации я взял сложный образец – белые ромашки на белом фоне. И то, и другое весьма условно – и в ромашках есть места, просто белые и менее белые, и фон, окруживший цветы, имеет широкую кайму не самого белого цвета. Эта кайма прекрасно видна на рисунке 1 иллюстрации – там я объявил белый цвет прозрачным и наложил изображение ромашек на чёрный фон. Получил то, что вы видите – широкая кайма вокруг цветов.
  В общем, трудности имеются, и они понятны.

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

  Теперь я провёл дискриминацию заново, сохранив только один, самый старший бит, в каждой компоненте цвета. Результат показан на рисунке 3.
  Видно, что белые лепестка ромашки исчезли совсем, но зато исчез и тонкий ореол вокруг веточек.
  На этот раз фон получился не светло-серым, а тёмно-серым. Его, как и в прошлый раз, я заменил на чёрный и полученное изображение поместил на поле_2 (поле_2 это как второй слой в Фотошопе, на нём есть изображение, но слой сделан невидимым).

  А на рисунок – на поле_1, то есть на тот слой, который виден, я поместил изображение-полуфабрикат.
  Затем включил розовый ластик (этот ластик переносит изображение с поля_2 на поле_1) и стал водить им по веточкам в тех местах, где светился ореол. Когда весь ореол был убран, я опять запомнил полуфабрикат, а на поле_2 поместил исходное изображение.
  Опять вернул на поле_1 изображение-полуфабрикат и стал водить розовым ластиком, но уже по лепесткам – в тех местах, где они угадывались, но были чёрными. Результат вы видите на иллюстрации справа.
  Результат превосходен – и цвет оригинала сохранён во всей красе, и никакого светлого ореола вокруг стеблей не видно.

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

__________
30.07.2023


Рецензии