2017-01-04 18 views
0

ビジョンプログラミングに入り、問題にぶつかります。ここに私のコードは次のとおりです。Harr Cascade CV2エラー:(-215)scn == 3 ||関数cv :: ipp_cvtColorのscn == 4

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のエラーを取得:アサーションは、CVに(SCN == 3 || SCNの== 4)に失敗しまし:: ipp_cvtColor、ファイルC:\プロジェクト\ OpenCVの-pythonの\ opencv \ modules \ imgproc \ src \ color.cpp行7456 トレースバック(最新の最後の呼び出し): ファイル "C:/Users/Peter/PycharmProjects/untitled/FaceDetection.py"、15行目、 グレー= cv2 (-215)scn == 3 || scn(3)|| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | == 4 in function cv :: ipp_cvtColor "

これが解決された例が見つかりました静止画は使用していますが、ビデオフィードは使用していません。私はimg.shapeをチェックし、3次元であったので、それは私の問題ではありません。何か案は?

おかげ

+0

imgが正常に読み込まれたかどうかをテストします。エラーメッセージは、imgが3チャンネルのカラーイメージではないことを示しているため、グレースケールに変換することはできません – Micka

答えて

0

変更:

while 1: 

へ:

while ret == True: 

うまくいけば、このことができます!

関連する問題