Skip navigation

Példa gyalogosok detektálására OpenCV-ben

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:

  1. A kép megnyitása.
  2. A színes (RGB) kép szürkeárnyalatossá konvertálása.
  3. A HOG leíró létrehozása.
  4. Az SVM osztályozó tanítása a HOGDescriptor osztály gyalogos leírójával.
  5. A detekció végrehajtása.
  6. 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)