Как удалить пятна с изображений?

10

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

У меня это крайне искаженное и запятнанное изображение

Можно ли удалить это пятно? Может ли рисование изображений помочь?

Пожалуйста помоги

РЕДАКТИРОВАТЬ: другое изображение

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

После применения анизотропной диффузии и представления изображения с помощью imagesc (MATLAB)

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

Я попытался нарисовать, но результат не достаточно хорош

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

В любом случае я мог бы улучшить этот вывод?

вини
источник
Ну, вот что значит обработка изображений, чтобы компьютер сделал это для меня
vini
3
На вашем изображении пятна явно находятся в отдельной плоскости фокуса. Поэтому я бы подумал о том, как разложить изображение на плоскости фокусировки. Добавьте немного inpainting, и вы должны быть готовы :)
Emre
2
@vini У вас есть несколько изображений или только это? Я могу получить "хорошие" результаты, создав маску вручную и нарисовав. Это решение вас заинтересует?
Lorem Ipsum
3
Вы не можете просто мыть окна?
эндолит
2
Изображения кажутся как дважды выставленными, так и окрашенными. Это тот случай?
Чарна

Ответы:

8

Однако это не полный и четкий ответ, я оставляю вам по крайней мере какой-то подход, с которым вы должны бороться. (Я был бы очень рад узнать, если у вас есть результаты).

Посмотрите на эти вопросы:

Удаление бликов с изображения
Как удалить блики и яркость изображения (предварительная обработка изображений)?

По сути, они пытаются решить ту же проблему.

Есть две части проблемы,

а. Идентификация пятна / пятна b. Замена пятна на то, что было бы в месте окклюзии.

Природа вопроса пытается решить точную проблему (в некотором смысле).

Это не тривиальная вещь. Тем не менее, в обоих вопросах есть уникальная схема, которую вы можете использовать.

  1. Во всех случаях наложенный элемент, который требуется удалить, называется здесь (пятно, блики, яркое пятно), наложение имеет уникальный и отличный оттенок / цвет, который отличается от обычных объектов / сцены.

  2. п[Икс,Y]знак равно(1-α[Икс,Y])*S[Икс,Y]+α[Икс,Y]*ОvерLaYЧАСUе
    S~[Икс,Y]знак равно(п[Икс,Y]-ОvерLaYЧАСUе*α~[Икс,Y])/(1-α~[Икс,Y])
    п[Икс,Y]S[Икс,Y]ОvерLaYЧАСUеS~[Икс,Y]α~[Икс,Y]
  3. Значение OverlayHue может быть независимо оценено путем ручного сегментирования областей пикселей, в которых явно преобладают пятна или вспышка.

  4. S~р[Икс,Y]знак равно(пр[Икс,Y]-ОvерLaYЧАСUер*α~[Икс,Y])/(1-α~[Икс,Y])
    S~г[Икс,Y]знак равно(пг[Икс,Y]-ОvерLaYЧАСUег*α~[Икс,Y])/(1-α~[Икс,Y])
    S~В[Икс,Y]знак равно(пВ[Икс,Y]-ОvерLaYЧАСUеВ*α~[Икс,Y])/(1-α~[Икс,Y])
  5. αS~

  6. αα

  7. S~[Икс,Y]α~[Икс,Y]

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

Надеюсь это поможет.

Дипан Мехта
источник