■ Working Draft/◎ Coding

(Python 코딩) OpenCV를 이용한 얼굴인식 예제

dhwiii 2020. 2. 27. 17:26
import cv2 
import sys
import os

CAM_ID = 0
capture = cv2.VideoCapture(0)
def capture(camid = CAM_ID):
    cam = cv2.VideoCapture(camid)
    if cam.isOpened() == False:
        print ('cant open the cam (%d)' % camid)
        return None

    ret, frame = cam.read()
    if frame is None:
        print ('frame is not exist')
        return None

    cv2.imwrite('test.jpg',frame, params=[cv2.IMWRITE_JPEG_QUALITY,100])
    cam.release()

if __name__ == '__main__':
    capture()

image_file = r'C:\Users\COMPUTER\test.jpg'
cascade_file = r"C:\Users\COMPUTER\Anaconda3\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml"
cascade_file2 = r"C:\Users\COMPUTER\Anaconda3\Lib\site-packages\cv2\data\haarcascade_lefteye_2splits.xml"

image = cv2.imread(image_file)
image_gs = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cascade = cv2.CascadeClassifier(cascade_file)
face_list = cascade.detectMultiScale(image_gs,scaleFactor =1.1,minNeighbors=3,minSize= (70,70))

cascade2 = cv2.CascadeClassifier(cascade_file2)
eye_list = cascade2.detectMultiScale(image_gs,scaleFactor = 1.1, minNeighbors=1,minSize=(10,10))

웹캡으로 사진을 촬영 후 정적인 이미지에 OpenCV를 이용한 얼굴인식 예제입니다.

OpenCV 홈페이지에 있는 Opencv 패키지를 운영체제에 맞게 다운을 받고

cascade 경로를 본인 사용환경의 경로로 지정해 주어야 합니다.
(default값으로 저장을 했을 경우 저와 같은 경로에 아마 저장이 되어 있을겁니다.)

https://opencv.org/releases/

 

Releases

 

opencv.org

그리고 image_file에 있는 경로도 imwrite로 저장된 이미지의 경로로 본인이 바꾸어 주어야 합니다. 

(저는 아나콘다3을 이용하여 위 코드를 실행하였습니다.)