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 목표 검출 과 식별 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 지원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Opencv 학습 노트 (2): Opencv 의 기본 데이터 형식 과 데이터 구조매트릭스 데이터 형식: C 언어 에서 2 차원 데이터 중의 데이터 형식, 예 를 들 어 int, float, char 등 과 같다.Opencv 에서 행렬 의 데이터 형식 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.