30 라인으로 얼굴 인식 (OpenCV)하여 파일 출력!
할 일
마지막 기사 에서 Google 이미지 검색 결과를 스크래핑하고 이미지 데이터를 다운로드했습니다.
절차 개요
운영 환경
1. 캐스케이드 파일 준비
그것을 복사하여 실행 파일과 동일한 디렉토리에 저장했습니다.
1.cascade 파일 준비
import os
import cv2
HAAR_FILE = "./haarcascade_frontalface_default.xml"
face_cascade = cv2.CascadeClassifier(HAAR_FILE)
2. 이미지 데이터 준비
2. 이미지 데이터 준비
IN_PATH = './input/'
OUT_PATH = './output/'
def get_file(dir_path):
file_names = os.listdir(dir_path)
return file_names
images = get_file(IN_PATH)
3. 얼굴 인식 & 파일 출력
detectMultiScale의 반환 값은 아래 목록입니다.
3. 얼굴 인식 및 파일 출력
for i in images:
# read image
img = cv2.imread(IN_PATH + i)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# face detection
face = face_cascade.detectMultiScale(gray)
# get face area
for x,y,w,h in face:
face_cut = img[y:y+h, x:x+w]
# wrap in red frame
for x,y,w,h in face:
cv2.rectangle(img, (x,y), (x+w, y+h), (0, 0, 255), 2)
cv2.imwrite(OUT_PATH + '{}_face_cut.jpg'.format(i.replace('.jpg', '')), face_cut)
cv2.imwrite(OUT_PATH + '{}_face_rectangle.jpg'.format(i.replace('.jpg', '')), img)
실행 결과
【실행 전】
1. 001.jpg
2. 002.jpg
3. 003.jpg
【실행 후】
1.
001_face_cut.jpg
001_face_rectangle.jpg
2.
002_face_cut.jpg
002_face_rectangle.jpg
3.
003_face_cut.jpg
003_face_rectangle.jpg
소스 코드
참고문헌
Reference
이 문제에 관하여(30 라인으로 얼굴 인식 (OpenCV)하여 파일 출력!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hiraku00/items/de0c1d0e159d65328a1b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)