Питон извлечения силуэта

Я хочу выполнить биометрическую походку. Для этого на первом этапе я хочу извлечь силуэт видеофайла для построения GEI. Я использовал основанный код в этой ссылке: https://docs.opencv.org/3.4/db/d5c/tutorial_py_bg_subtraction.html

Мой код выглядит следующим образом:

import numpy as np
import cv2
cap = cv2.VideoCapture('01.avi')
fgbg=cv2.createBackgroundSubtractorKNN(detectShadows=False)
while(1):
ret, frame = cap.read()
fgmask = fgbg.apply(frame)
cv2.imshow('frame',fgmask)
k = cv2.waitKey(30) & 0xff
if k == 27:
    break

cap.release()

но вывод не правильный. Пример вывода приведен ниже:! ( https://i.imgur.com/TTHjlVm.jpg) в середине тела есть большая дыра (большая черная область внутри обнаруженного человека). Кроме того, на изображении присутствует некоторый шум. На самом деле, я хочу выводимое изображение, например, по следующей ссылке:! ( https://3c1703fe8d.site.internapcdn.net/newman/gfx/news/hires/2012/trackingpeop.jpg)

Как мне это сделать? Я читаю некоторые статьи, но не могу получить то, что хочу.

Если вы знаете лучший способ сделать это в Python, пожалуйста, сообщите мне!

0 ответов

Другие вопросы по тегам