[machineLearning] opencv로 얼굴 인식하기
2018. 6. 9. 14:02ㆍPython-이론/python-인공지능2
opencv로 얼굴 인식하기
haarcascade_frontalface_default.xml
이번에는 opencv를 설치하면 딸려오는 cascade파일을 사용하여 사진의 얼굴을 인실해보겠습니다.
예제 코드
import cv2 cascadefile = "haarcascade_frontalface_default.xml" img = cv2.imread('../images/arsenal.jpg') imgray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cascade = cv2.CascadeClassifier(cascadefile) facelist = cascade.detectMultiScale(imgray, scaleFactor=2.08, minNeighbors=1) print(facelist) if len(facelist) >= 1: for face in facelist: x, y, w, h = face cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2) cv2.imshow('arsenal', img) cv2.waitKey(0) cv2.destroyAllWindows()
결과
코드 설명
cascade = cv2.CascadeClassifier(cascadefile)
얼굴인식을 위한 cascadefile을 로드해서 객체를 만든다.
facelist = cascade.detectMultiScale(imgray, scaleFactor=2.08, minNeighbors=1)
첫인자: 이미지데이터가 들어가며 보통 그레이색로 바뀐 이미지가 들어간다.
scaleFactor: 각이미지의 스케일이 얼마나 줄어드는지 나타내는 것이다.
ex) 1.03이면 원래 크기의 3%작아짐
minNeighbors: 각각의 직사각형에 얼마나 많은 이웃들을 유지 해야하는 가를 나타낸다. 값이 크면 얼굴을 덜 찾는 대신 퀄리티가 높아집니다.
'Python-이론 > python-인공지능2' 카테고리의 다른 글
[Rnn]lstm을 이용해서 악보예측해보기 (0) | 2018.06.11 |
---|---|
[keras]퍼셉트론을 활용해서 악보 만들기 (0) | 2018.06.10 |
[keras]색 있는 이미지 분류하기2 (0) | 2018.06.03 |
[keras] 색상있는 이미지 분류하기1 (0) | 2018.06.03 |
[인공지능]anaconda로 tensorflow-gpu, cuda 사용하기 환경 설정 (1) | 2018.06.03 |