Python으로 얼굴 인식 시작하기
OpenCV 라이브러리(cv2)를 사용하는 고전적인 기능 기반 캐스케이드 분류기를 사용하여 사진의 얼굴 감지를 수행할 수 있습니다.
중고 패키지
import cv2
import time
import os
OpenCV는 얼굴 인식을 위한 캐스케이드 분류기를 생성하는 클래스
CascadeClassifier
를 제공합니다. 생성자는 미리 학습된 모델의 XML 파일을 지정하는 인수로 파일 이름을 사용할 수 있습니다.OpenCV GitHub 프로젝트에서 정면 얼굴 감지를 위한 사전 훈련된 모델( file here )을 다운로드하여 작업 디렉토리에 배치합니다.
이미지 디렉토리 설정
# function to get images from folder
def get_images(dir_name):
list_images = os.listdir(dir_name)
all_images =list()
for entry in list_images:
full_path =os.path.join(dir_name, entry)
if os.path.isdir(full_path):
all_images.all_images + get_images(full_path)
else: all_images.append(full_path)
return all_images
detectMultiScale()
함수를 호출하여 사진에서 얼굴 인식을 수행할 모델을 로드합니다.# Face Detection
def main():
dir_name = 'images' # directory for images
list_images = get_images(dir_name)
for i in range(20): #20 images
image_path = list_images[i]
print(image_path)
# load the pre-trained model
case_path = "haarcascade_frontalface_default.xml" # define the model used for recognition detection
faceCascade= cv2.CascadeClassifier(case_path)
image=cv2.imread(image_path)
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY) # make the picture to gray from color
# face detection
faces = faceCascade.detectMultiScale(gray,
scaleFactor = 1.1,
minNeighbors=5,
minSize = (30, 30))
for (x, y, w, h) in faces: # draw rectangles on the faces when detected
cv2.rectangle(image, (x,y), (x + w, y+h), (0, 255, 0), 2)
#Load the detected faces
cv2.imshow("Face Found", image)
cv2.waitKey(5)
time.sleep(5)
cv2.destroyAllWindows()
if __name__ == '__main__':
main()
모델을 실행하면 이미지가 로드되고 캐스케이드 분류기가 구성됩니다. 얼굴이 감지되고 각 경계 상자가 인쇄됩니다.
이 모델은 카메라(앞면)에서 직접 얼굴에 대해서만 작동합니다.
Reference
이 문제에 관하여(Python으로 얼굴 인식 시작하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ochwada/get-started-with-face-detection-8o3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)