Példa
Ebben a példában megnézzük, hogy hogyan használhatjuk a HOG leírást gyalogosok detektálásra.
A következő lépéseket kell elvégezni:
- A kép megnyitása.
- A színes (RGB) kép szürkeárnyalatossá konvertálása.
- A HOG leíró létrehozása.
- Az SVM osztályozó tanítása a HOGDescriptor osztály gyalogos leírójával.
- A detekció végrehajtása.
- A detektált régiók téglalapjainak kirajzolása.
A példában az alábbi képet használtuk:
import cv2
import numpy as np
## kép megnyitása
INPUT_IMAGE = "../gyalogos.jpg"
OUTPUT_IMAGE = "pedestrian_HOG.png"
img = cv2.imread(INPUT_IMAGE)
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
## HOG leíró létrehozása
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
## detekció
(rects, weights) = hog.detectMultiScale(gray_img, winStride=(4,4), padding=(8,8))
for (x,y,w,h) in rects:
cv2.rectangle(img, (x,y), (x+w, y+h), (0,255,255), 10)
cv2.imwrite(OUTPUT_IMAGE, img)