본문 바로가기
Python/OpenCV

[OpenCV] HOG(Histogram of Oriented Gradients) 이미지 테스트

by hotelshoe 2022. 3. 3.
반응형

OpenCV에서 기본으로 제공되는 HOG 알고리즘

이미지 혹은 영상 속 프레임에서 인물(보행자)을 검출하기 위한 목적으로 쓰입니다.

이번 테스트에서는 이미지 속 인물들을 검출해보는 테스트를 실시하겠으며, 자세한 파라미터나 알고리즘에 대한 설명은 하단의 링크를 참조하면 되겠습니다.

https://docs.opencv.org/4.x/d5/d33/structcv_1_1HOGDescriptor.html

 

OpenCV: cv::HOGDescriptor Struct Reference

Implementation of HOG (Histogram of Oriented Gradients) descriptor and object detector. More... #include  HOGDescriptor ()  Creates the HOG descriptor and detector with default parameters. More...    HOGDescriptor (Size _winSize, Size _blockSize, Size

docs.opencv.org


소스 코드

import cv2

img = cv2.imread('./img.jpg') #-- 본인 환경에 맞게 변경할 것

#-- HOG 알고리즘 불러오기
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())

#-- 객체 검출
detected, _ = hog.detectMultiScale(img)

#-- 검출 객체 박스 표시
for (x, y, w, h) in detected:
    cv2.rectangle(img, (x, y, w, h), (0, 255, 0), 3)
    cv2.putText(img, 'Person',(x, y - 5), cv2.FONT_HERSHEY_DUPLEX, 1, (0,255,0), 1)

cv2.imshow('HOG_img_test', img)
cv2.waitKey()
cv2.destroyAllWindows()

테스트

출력 예시
출력 예시

여러 블로그 리뷰나 웹 사이트 등에서 인식 성능이 그렇게 좋지 못하다는 평을 볼 수 있었는데, 테스트 결과 또한 기대에 못 미치는 결과를 보입니다. 다음 포스팅에서 영상을 통해 테스트를 실시해 보도록 할 예정입니다.

반응형

댓글