2017-01-04 2 views
0

비전 프로그래밍을 시작하고 문제가 발생했습니다. 나는 오류가Harr Cascade CV2 오류 : (-215) scn == 3 || scv == 4 in function cv :: ipp_cvtColor

import numpy as np 
import cv2 

# multiple cascades: https://github.com/Itseez/opencv/tree/master/data/haarcascades 

#https://github.com/Itseez/opencv/blob/master/data/haarcascades/haarcascade_frontalface_default.xml 
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') 
#https://github.com/Itseez/opencv/blob/master/data/haarcascades/haarcascade_eye.xml 
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml') 

cap = cv2.VideoCapture(0) 

while 1: 
    ret, img = cap.read() 
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 
    faces = face_cascade.detectMultiScale(gray, 1.3, 5) 
    for (x, y, w, h) in faces: 
     cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2) 
     roi_gray = gray[y:y + h, x:x + w] 
     roi_color = img[y:y + h, x:x + w] 
     eyes = eye_cascade.detectMultiScale(roi_gray) 
     for (ex, ey, ew, eh) in eyes: 
      cv2.rectangle(roi_color, (ex, ey), (ex + ew, ey + eh), (0, 255, 0), 2) 
     cv2.imshow('img', img) 
    if cv2.waitKey(1) & 0xFF == ord('q'): 
     break 

cap.release() 
cv2.destroyAllWindows() 

"OpenCV의 오류 : 여기 내 코드입니다 \ 프로젝트 \ OpenCV의-파이썬 \ 어설 이력서 :: ipp_cvtColor, 파일 C에 (SCN의 == 3 || SCN의 == 4) 실패 opencv \ modules \ imgproc \ src \ color.cpp 줄 7456 추적 (최근 호출 마지막) : 파일 "C : /Users/Peter/PycharmProjects/untitled/FaceDetection.py", 줄 15, 회색 = cv2 8456 : 오류 : (-215) scn == 3 || scn() .cvtColor (img, cv2.COLOR_BGR2GRAY) cv2.error : C : \ projects \ opencv-python \ opencv \ modules \ imgproc \ src \ color.cpp : == 4 함수에서 cv :: ipp_cvtColor "

이 문제를 해결할 수 있습니다. 스틸 이미지는 사용하지만 비디오 피드는 사용하지 않습니다. 나는 img.shape를 점검했고 그것은 3 차원 적 이었기 때문에 내 문제는 아니다. 어떤 아이디어?

감사

+0

img가로드/캡처되었는지 여부를 테스트합니다. 오류 메시지는 img가 3 채널 컬러 이미지가 아니므로 회색 음영으로 변환 할 수 없음을 나타냅니다. – Micka

답변

0

변경 :

while 1: 

에 :

while ret == True: 

는 희망이 도움이!

관련 문제