@OzzyDev

Как найти и заменить пол на картинке?

Добрый день.

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

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

Хотелось бы понять в какую сторону необходимо смотреть. Нужно ли использовать Machine Learning для определения и замены напольного покрытия? Либо необходимо использовать Computer Vision (например, OpenCV)?

Мы используем такой стек: .NET, NodeJS.

Буду рад любым советам и рекомендациям.

Заранее спасибо.
  • Вопрос задан
  • 600 просмотров
Пригласить эксперта
Ответы на вопрос 4
hint000
@hint000
у админа три руки
Добавлю к предыдущим ответам.
Не забудьте, что надо учитывать пространственную перспективу, а она зависит от ракурса каждой конкретной фотографии. А ещё нужно как-то сохранить распределение света и теней. Согласен, что
через фотошоп довольно муторно делать
. Автоматизировать реально, но это работа для команды разработчиков. Если сможете автоматизировать, то разбогатеете на продаже этого ПО.
Ответ написан
Комментировать
Тут две задачи для комп. зрения:
  1. найти на изображении пол и сделать для него маску
  2. определить сетку перспективы, соответствующую полу

Про 1-ю часть гуглите "image segmentation". Например, вот пытаются отделить на фото пол.

2-ю часть тоже решают алгоритмически, например, при автоматической склейке панорам и выравнивании горизонта снимков. Находят на снимке прямые линии и на их основе догадываются об остальном.

Для чуть более правдоподобного освещения нового пола можно участок оригинального размывать донельзя и использовать как слой яркости с небольшим % влияния.
Ответ написан
Alex_mos
@Alex_mos
Google всему голова
Фотошоп.

Конечно все описанное вами наверное реализуемо, но очень муторно, так как все будет зависеть от многих факторов (качество фото, света в помещении, цвета на фото итд)

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

Я бы попробовал рассмотреть такой вариант.
Ответ написан
Комментировать
@calculator212
просто заменить пол из оригинальной картинки с полом из второй картинки.
Это через фотошоп довольно муторно делать, а вы через cv хотите, но как сказали сильно зависит от того, что вы хотите, если пол достаточно резко контрастирует от других объектов то через opencv можете вырезать объекты и наложить их на новый фон, а если вы хотите сделать для любой картинки, то хз что вам поможет. Да и хотя бы киньте 1-2 картинки того что есть и то что нужно получить, а то так сложно посоветовать, что то конкретное.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы