복붙노트

[PYTHON] OpenCV + Python-2.7을 사용하여 전신 탐지 및 추적

PYTHON

OpenCV + Python-2.7을 사용하여 전신 탐지 및 추적

C ++로이를 수행하는 데 사용할 수있는 많은 자료가 있습니다. Python-2.7에서 OpenCV를 사용하여 전신 탐지를 할 수있는 방법이 있는지 알고 싶습니다.

시상면을 따라 걷는 사람의 비디오 (걷는 방향에서 90도 카메라가 찍힌 카메라)를 통해, 나는 그 사람의 몸 전체를 덮는 관심 영역 직사각형을 묶어 프레임 단위로 움직임 속에서 추적하고 싶습니다.

해결법

  1. ==============================

    1.이 샘플은 hog 디스크립터를 사용하여 samples / python / peopledetect.py에서 샘플을 찾을 수 있습니다. opencv 설치에서 제공 한 샘플 비디오를 사용했습니다.

    이 샘플은 hog 디스크립터를 사용하여 samples / python / peopledetect.py에서 샘플을 찾을 수 있습니다. opencv 설치에서 제공 한 샘플 비디오를 사용했습니다.

    import numpy as np
    import cv2
    
    
    def inside(r, q):
        rx, ry, rw, rh = r
        qx, qy, qw, qh = q
        return rx > qx and ry > qy and rx + rw < qx + qw and ry + rh < qy + qh
    
    
    def draw_detections(img, rects, thickness = 1):
        for x, y, w, h in rects:
            # the HOG detector returns slightly larger rectangles than the real objects.
            # so we slightly shrink the rectangles to get a nicer output.
            pad_w, pad_h = int(0.15*w), int(0.05*h)
            cv2.rectangle(img, (x+pad_w, y+pad_h), (x+w-pad_w, y+h-pad_h), (0, 255, 0), thickness)
    
    
    if __name__ == '__main__':
    
        hog = cv2.HOGDescriptor()
        hog.setSVMDetector( cv2.HOGDescriptor_getDefaultPeopleDetector() )
        cap=cv2.VideoCapture('vid.avi')
        while True:
            _,frame=cap.read()
            found,w=hog.detectMultiScale(frame, winStride=(8,8), padding=(32,32), scale=1.05)
            draw_detections(frame,found)
            cv2.imshow('feed',frame)
            ch = 0xFF & cv2.waitKey(1)
            if ch == 27:
                break
        cv2.destroyAllWindows()
    

    별로 좋지 않습니다. 여전히 시도해라.

  2. from https://stackoverflow.com/questions/34871294/full-body-detection-and-tracking-using-opencvpython-2-7 by cc-by-sa and MIT license