python 3 OpenCV 3 기반 정적 이미지 얼굴 인식 실현

본 고 는 OpenCV 3 와 Python 3 을 이용 하여 정적 이미지 의 얼굴 인식 을 실현 하고 Haar 파일 등급 연결 을 사용한다.
먼저 OpenCV 3 소스 코드 에서 data 폴 더 아래 의 haarcascades 폴 더 에 모든 OpenCV 의 얼굴 검 측 XML 파일 이 포함 되 어 있 습 니 다.이 파일 들 은 정적,영상 파일,카메라 영상 흐름 의 얼굴 을 검사 하고 haarcascades 파일 클립 을 찾 은 후 XML 파일 을 복사 할 수 있 습 니 다.새로 만 든 Python 스 크 립 트 파일 디 렉 터 리 에 캐 스 케 이 드 라 는 폴 더 를 만 들 고 복사 한 XML 파일 을 새 폴 더 에 얼굴 이 있 는 그림 에 붙 여 넣 으 면 바 이 두 를 사용 할 수 있 습 니 다.
얼굴 인식 함수 detect 만 들 기()

def detect(img):
 #       face_cascade   ,    CascadeClassifier   ,      (frontalface)
 face_cascade = cv2.CascadeClassifier('./cascades/haarcascade_frontalface_default.xml')
 #       
 gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
 #         ,     scaleFactor minNeighbor,                                       
 faces = face_cascade.detectMultiScale(gray,1.3,5)
 for (x,y,w,h) in faces:
 #    faces         
 img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,255),2)
 cv2.imshow('face_track',img)
 #        
 cv2.waitKey(0)
위 가 바로 주요 함수 입 니 다.물론 함수 없 이 while 순환 에 직접 쓰 셔 도 됩 니 다.아래 는 완전한 프로그램 코드 입 니 다.

import cv2

filename = cv2.imread('face_2.jpg')

def detect(img):
 face_cascade = cv2.CascadeClassifier('./cascades/haarcascade_frontalface_default.xml')
 gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
 faces = face_cascade.detectMultiScale(gray,1.3,5)
 for (x,y,w,h) in faces:
 img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,255),2)
 cv2.imshow('face_track',img)
 cv2.waitKey(0)

if __name__ == "__main__":
 detect(filename)
실행 결과

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기