Задать вопрос
dollar
@dollar
Делай добро и бросай его в воду.

Как удалить фон без потери информации?

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

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

Пример 1
5d5bb1578264a461945358.png
Пример 1 (увеличенный)
5d5bb15f8c88b165844757.png
Пример 2 (без картинки): красный мячик на траве.

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

Сложность ещё и в том, что ширина перехода предмета в фон (ширина размытия) может быть больше одного пикселя. Но инструмент должен как-то догадаться, что очень мелкие примеси - это уже начало границы с объектом.
  • Вопрос задан
  • 5028 просмотров
Подписаться 4 Сложный 1 комментарий
Решение пользователя rPman К ответам на вопрос (4)
@rPman
Вам сняло надо избавиться от градиенты, простые способы, например считайте производную яркости по каждому каналу, не обязательно rgb, лучше предлагать в cmyk или hsv... Или пример, замыльте изображение с большим шагом, таким, чтобы объекты на итоговом изображении исчезли и осталась только общая градиента. Затем высчтете из исходного изображения это замыленное ( лучше использовать деление). В итоге вы избавитесь от градиенты и бонусом получите доп выделение границ. Этот метод идеален например при получении скана бумаги с текстом при неравномерном освещении.
Ответ написан