Pull to refresh

Удаление объектов на фотографии

Reading time2 min
Views16K
Как удалить объект на фотографии так, чтобы не осталось черного пятна? Чтобы место этого объекта заняли другие объекты, и никто бы этого не заметил? Долгое время считалось, что эта задача почти неразрешима. Предлагались такие псевдо-решения, как, например, замазать дырку какой-нибудь текстурой:
akvis.com/ru/multibrush-tutorial/examples/removing-object.php

Наконец, на конференции SIGGRAPH в 2007 году было предложено уникальное по своей функциональности и возможностям решение. Не откажите себе в удовольствие посмотреть этот уникальный доклад (на английском):
www.youtube.com/watch?v=vIFCV2spKtg

На меня этот метод сразу произвел впечатление своей революционностью. Приятно видеть, что это решение сегодня уже используется в последних версиях PhotoShop, а также в пользовательских программах, например этой:
www.tintguide.com/ru/imageresize.html

Итак, метод очень прост.
а) Составляется карта плотности градиентного поля.
б) Через объект, подлежащий удалению, проводятся кривые, вдоль которых плотность градиентного поля минимальна. Эти кривые «схлопываются», пиксели, расположенные на них, удаляются. (Размер картинки уменьшается при этом на N пикселей по ширине).
в) На новом изображении находится снова кривая, вдоль которой плотность градиентного поля минимальна. Она дублируется, т.е. каждый пиксель заменяется на два. (Размер картинки увеличивается при этом на 1 пиксель по ширине).
г) Шаг в) повторяется N раз

В результате выделенный объект полностью стирается. Фотография остается такого же размера, как и была. Следы редактирования в 99% случае заметить невозможно, причем даже с помощью специальных программ.

UPDATE: Как выяснилось, эта технология уже обсуждалась на Хабре вот зедсь www.habrahabr.ru/blogs/algorithm/48518, что очень приятно.
Tags:
Hubs:
Total votes 121: ↑76 and ↓45+31
Comments58

Articles

Information

Website
www.gil-algorithms.com
Registered
Founded
2007
Employees
Unknown
Location
Россия