파이썬 opencv 눈 인식 부분에 이미지 씌우는 방법

조회수 407회

웹캠으로 얼굴을 인식한다음 눈을 인식해서 눈 부분에 예를들어 썬글라스 이미지를 씌우는게 목표입니다. for (ex, ey, ew, eh) in eyes: 이 부분을 어떻게 고쳐야할까요?.. (캠설정은 뺏습니다)

xml = 'haarcascade_frontalface_default.xml'
xml2 = 'haarcascade_eye_tree_eyeglasses.xml'
face_cascade = cv2.CascadeClassifier(xml)
eye_cascade = cv2.CascadeClassifier(xml2)

img1 = cv2.imread('sunglasses.png', cv2.IMREAD_UNCHANGED)

while True : 

    ret, frame = cap.read()
    frame = cv2.flip(frame, 1) # 좌우대칭

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    faces = face_cascade.detectMultiScale(gray,1.1,3) 

    if len(faces):
        for (x,y,w,h) in faces:
            face_img = frame[y:y+h, x:x+w] # 탐지된 얼굴 이미지 crop

            roi_gray = gray[y:y+h, x:x+w]
            roi_color = frame[y:y+h, x:x+w]

            eyes = eye_cascade.detectMultiScale(roi_gray, 1.1,3)
            for (ex, ey, ew, eh) in eyes:
               cv2.rectangle(roi_color, (ex,ey), (ex+ ew, ey+eh), (0,255,0),2)
               #t = cv2.resize(img1, dsize=(h,w), interpolation=cv2.INTER_LINEAR)
               #frame[y:y+h, x:x+w] = t
    ```

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)