Использование OpenCV и Python для замены сегментированной части изображения другими изображениями - PullRequest
0 голосов
/ 26 декабря 2018

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

Исходное фото
Сегментированное фото

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

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

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

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

Segmentation example

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

Source Result

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

Я надеюсь, что вы можете начать свое путешествие здесь и улучшаться по пути.

0 голосов
/ 26 декабря 2018
...