Подтвердить что ты не робот

Поиск людей силуэт в OpenCV С++

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

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

Было бы здорово, если бы кто-нибудь мог мне помочь. Я использую OpenCV и С++.

4b9b3361

Ответ 1

Вы можете попробовать алгоритмы GrabCut или GraphCut (по крайней мере, grabcut присутствует в OpenCV).

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

Это открытая исследовательская область, поэтому, если ваши изображения не будут сокращены по своему усмотрению, подготовьтесь к нескольким годам исследований после PhD, чтобы найти лучшие алгоритмы:)