다운로드
작성자: admin 작성일시: 조회수: 96 다운로드: 12
카테고리: 기타 태그목록:

템플릿 매칭

Haar based Cascade Classifier

Haar based Cascade Classifier는 머신러닝을 이용한 물체 인식 방법론이다. 머신러닝 기법으로 AdaBoost를 사용했고, 이에 대한 내용은 추후에 학습 할 것이다. 이 분류기는 얼굴이미지에서 눈, 얼굴 등의 부위를 찾는데 주로 이용된다. 이미 학습된 모델을 OpenCV 에서 제공하고 있다. 학습 시킬 필요없이 다음과 같이 다운로드 받아 바로 사용할 수 있다.

아래 코드는 이미지에서 눈을 찾아내는 예이다.

In [20]:
!wget https://raw.githubusercontent.com/opencv/opencv/master/data/haarcascades/haarcascade_eye.xml
--2018-11-24 09:00:18--  https://raw.githubusercontent.com/opencv/opencv/master/data/haarcascades/haarcascade_eye.xml
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.72.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.72.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 341406 (333K) [text/plain]
Saving to: ‘haarcascade_eye.xml’

haarcascade_eye.xml 100%[===================>] 333.40K  1.89MB/s    in 0.2s    

2018-11-24 09:00:18 (1.89 MB/s) - ‘haarcascade_eye.xml’ saved [341406/341406]

In [21]:
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')

from skimage.data import astronaut
astronaut = astronaut()
astronaut = cv2.cvtColor(astronaut, cv2.COLOR_BGR2GRAY)

eyes = eye_cascade.detectMultiScale(astronaut, 1.3, 5)

fig, ax = plt.subplots()
plt.imshow(astronaut, cmap=plt.cm.bone)
plt.axis("off")
plt.grid(False)
ax.add_patch(patches.Rectangle(
    (eyes[0][0], eyes[0][1]), eyes[0][2], eyes[0][3], fill=False))
ax.add_patch(patches.Rectangle(
    (eyes[1][0], eyes[1][1]), eyes[1][2], eyes[1][3], fill=False))
plt.show()
In [ ]:
 

질문/덧글

아직 질문이나 덧글이 없습니다. 첫번째 글을 남겨주세요!