얼굴 검출(Haar Classifier Cascade)
영상이나 이미지에서 얼굴이 존재하는 위치를 알려주는 알고리즘
입니다.
얼굴 인식이 아닌 얼굴 형태의 패턴을 찾아 얼굴을 검출해주는 알고리즘(Face Detection)입니다.
Haar Classifier Cascade 다운로드
: 다운로드
위의 파일을 다운로드합니다. 압축 해제 후 xml파일을 프로젝트 경로에 저장합니다.
원본(Source, src)
은 영상이나 이미지를 사용합니다.
클래스 코드
세부 코드
haarface
는 원본을 복사한 이미지입니다.
scale
은 검출되는 이미지의 비율입니다.
scaleFactor
와 minNeighbors
의 값은 얼굴 검출시에 사용되는 상수입니다.
scaleFactor
는 1
이상의 값을 사용합니다. minNeighbors
또한 1
이상의 값을 사용합니다.
검출되는 이미지인 Detected_image
를 scale
의 비율에 맞게 재조정합니다.
Cv.CvtColor
와 Cv.Resize
를 통하여 이미지의 크기를 조정합니다.
Cv.EqualizeHist(원본, 결과)
를 통하여 GrayScale
이미지의 화상을 평탄화 시킵니다.
이 작업을 통하여 매우 어둡거나 매우 밝은 부분들이 일정하게 조정됩니다.
cascade
에 haarcascade_frontalface_alt.xml
파일의 경로를 입력합니다. storage
를 선언하여 메모리 저장소를 생성합니다.
Cv.HaarDetectObjects()
를 이용하여 faces
에 검출된 얼굴의 좌표를 저장합니다.
Cv.HaarDetectObjects(탐지이미지, 객체 감지 파일, 메모리 저장소, 스케일팩터, 이웃수, 작동 모드, 최소 크기, 최대 크기)
입니다.
for
문을 이용하여 검출된 얼굴의 위치에 Circle
을 그립니다.
출력 결과
댓글 남기기