728x90
Haar Cascade Classifiers
- 2001년 Paul Viola 와 Michael Jones 가 제안한 하르기반 다단계 분류기이다.
- 다수의 positive 이미지와 negative 이미지를 트레이닝 시켜 만들어졌다.
- 여러 개의 검출기를 순차적으로 사용해서 Cascade(다단계) 란 용어가 붙여졌다.
예제
아래 링크 보시면 pretrained 된 다양한 검출 XML 파일들을 제공하고 있습니다.
결과 부터 보시면 미리 pretrained 된 XML 파일들을 제공하고 있으며 이를 이용하여 다음과 같은 검출이 가능합니다.
눈 검출
얼굴 검출
예제 코드
위 링크를 통해 XML 파일을 다운로드 해서 사용하시면 됩니다.
눈 검출
import os
import cv2
import numpy as np
path_1 = os.path.join('dt_img', 'kim.png')
src = cv2.imread(path_1)
classifier = cv2.CascadeClassifier('eye.xml')
faces = classifier.detectMultiScale(src)
for (x, y, w, h) in faces:
center = x + int(w/2), y + int(h/2)
radius = int(w/2)
cv2.circle(src, center, radius, (0, 255, 0), 3)
cv2.imshow('src', src)
cv2.waitKey()
cv2.destroyAllWindows()
얼굴 검출
import os
import cv2
import numpy as np
path = os.path.join('dt_img', 'kim2.jpg')
src = cv2.imread(path)
face_classifier = cv2.CascadeClassifier('face.xml')
faces = face_classifier.detectMultiScale(src)
for (x, y, w, h) in faces:
center = x + int(w/2), y + int(h/2)
radius = int(w/2)
cv2.circle(src, center, radius, (0, 255, 0), 3)
cv2.imshow('src', src)
cv2.waitKey()
cv2.destroyAllWindows()
'OpenCV' 카테고리의 다른 글
리얼 페이스북 (0) | 2020.08.07 |
---|---|
파이썬 OpenCV HOG : 보행자 검출하기 (0) | 2020.08.06 |
파이썬 OpenCV 템플릿 매칭 -3 : 크롬 공룡게임 간단 매크로 구현 (0) | 2020.08.06 |
파이썬 OpenCV 템플릿 매칭 -2 : 크롬 공룡게임 실시간 매칭하기 (2) | 2020.08.06 |
파이썬 OpenCV 템플릿 매칭 -1 : 크롬 공룡게임 (0) | 2020.08.06 |