Python 은 Opencv 를 사용 하여 목표 탐지 와 식별 을 실현 하 는 예시 코드

지난 장 에서이미지 특징 검사 와 일치까지 이 장 은 목표 의 검 측 과 식별 을 다 루 었 다.후 자 는 전자의 기초 위 에서 더욱 완벽 해진 다.
이 장 에서 저 희 는 HOG 알고리즘 을 사용 합 니 다.HOG 와 SIFT,SURF 는 같은 유형의 설명 자 를 사용 합 니 다.기능 코드 는 다음 과 같 습 니 다.

import cv2
def is_inside(o, i):
 ox, oy, ow, oh = o
 ix, iy, iw, ih = i
 #       ,  True,    False
 return ox > ix and oy > iy and ox + ow < ix + iw and oy + oh < iy + ih

#              
def draw_person(img, person):
 x, y, w, h = person
 cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 255), 2)

#   HOG  +SVM   
img = cv2.imread("people.jpg")
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
found, w = hog.detectMultiScale(img, winStride=(8, 8), scale=1.05)

#            
found_filtered = []
for ri, r in enumerate(found):
 for qi, q in enumerate(found):
 a = is_inside(r, q)
 if ri != qi and a:
  break
 else:
 found_filtered.append(r)
#           
for person in found_filtered:
 draw_person(img, person)
#     
cv2.imshow("people detection", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
실행 결 과 는 그림 과 같 습 니 다.

이 예 는 HOG 특징 을 사용 하여 SVM 알고리즘 훈련 을 하 는 것 으로 이 부분 은 기계 학습 과 관련 되 기 시 작 했 고 SVM 알고리즘 을 통 해 데이터 세트 를 훈련 한 다음 에 특정한 이미지 에 따라 데이터 세트 와 일치 합 니 다.
Python 이 Opencv 를 사용 하여 목표 검출 과 식별 을 실현 하 는 예제 코드 에 관 한 글 은 여기까지 소개 합 니 다.더 많은 Opencv 목표 검출 과 식별 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 지원 바 랍 니 다!

좋은 웹페이지 즐겨찾기