существует два изображения
сопроводительный текст http://bbs.shoucangshidai.com/attachments/month_1001/1001211535bd7a644e95187acd.jpg сопроводительный текст http://bbs.shoucangshidai.com/attachments/month_1001/10012115357cfe13c148d3d8da.jpg каждый - фоновое изображение, другой - фотография человека с тем же фоном, тот же размер, что я хочу сделать, удаляют фон второго изображения и дистиллируют профиль человека только. общепринятая методика, вычитают первое изображение из второго, но моя проблема состоит в том, если цвет износа человека схож фону. результат вычитает, ужасно. я не могу получить профиль всех людей. у кого есть хорошая идея удалить фон, дают мне некоторый совет. заранее спасибо.
Если у вас хорошая оценка фона изображения, вычитая его с изображением с человеком, является хорошим первым шагом. Но это только первый шаг. После этого вам приходится сегментировать образ, то есть вы должны разделить изображение на «фоновом режиме» и «передний план» пикселей, с такими как эти ограничения:
, если вы математически склонны, эти ограничения могут быть идеально смоделированы с функционалом Mumford-Shah. Смотрите здесь для получения дополнительной информации.
Но вы, вероятно, можете адаптировать другие алгоритмы сегментации к проблеме.
Если вы хотите быструю и простую (но не идеальную) версию, вы можете попробовать это:
Теперь у вас есть наброски многоугольника, который касается видимой границы фона человека и продолжается плавно, где граница не видна или имеет низкий контрастность. Смотрите «змеи» ( E.G. Здесь ) для получения дополнительной информации.
Опубликуйте фото на Craigslist и скажите им, что вы заплатите 5 долларов за кого-то, чтобы сделать это.
Гарантировано, вы получите хиты за считанные минуты.
Одной из техники, которую я считаю, является общим, является использование модели смеси . Захватите ряд фоновых рамок и для каждого пикселя построить модель смеси для его цвета.
Когда вы применяете кадр с человеком в нем, вы получите некоторую вероятность того, что цвет является передним планом или фоном, учитывая плотности вероятности в модели смеси для каждого пикселя.
После того, как у вас есть p (пиксель - это передний план) и p (пиксель - это фон), вы могли бы просто порог нанесение вероятности.
Другая возможность состоит в том, чтобы использовать вероятности в качестве входных данных в некотором более умных алгоритмах сегментации. Одним из примеров является графики порезы , которые я заметил, работает довольно хорошо.
Однако, если человек носит одежду, которые визуально неразведали от фона, очевидно, ни одна из методов, описанных выше, не будет работать. Вам либо нужно получить другой датчик (например, IR или UV) или иметь довольно сложный «человек-модель», который мог бы «добавить» ноги в правильном положении, если она найдет то, что он думает, это торс и голова.
Удачи в проекте!
Вместо того, чтобы прямое вычитание вы можете пройти через как изображения, пиксель пикселем, так и только «вычесть» пиксели, которые точно так же. Это, конечно, не будет учитывать незначительные отклонения в цветах, хотя.
Низкочастотный фильтр (размытие) изображений перед их вычитанием. Затем используйте этот разностный сигнал в качестве маски для выделения интересующих пикселей. Широкоформатный фильтр игнорирует мелкие (высокочастотные) элементы, которые в итоге вырезают "ужасные" области внутри интересующего объекта. Он также уменьшит выделение шумов и несоосность на уровне пикселов (высокочастотная информация).
Кроме того, если у вас более двух кадров, введение гистерезиса времени позволит вам сформировать более стабильные регионы, представляющие интерес с течением времени.