2017-01-04 16 views
0

Nur in die Vision Programmierung und läuft auf ein Problem. Hier ist mein Code:Harr Cascade CV2 Fehler: (-215) scn == 3 || scn == 4 in der Funktion 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() 

ich den Fehler „OpenCV Fehler erhalten: Assertion fehlgeschlagen (scn == 3 || scn == 4) in cv :: ipp_cvtColor, Datei C: \ projects \ opencv-python \ opencv \ modules \ imgproc \ src \ color.cpp, Zeile 7456 Traceback (letzten Aufruf zuletzt): Datei "C:/Users/Peter/PycharmProjects/untitled/FaceDetection.py", Zeile 15, in grau = cv2 .cvtColor (img, cv2.COLOR_BGR2GRAY) cv2.fehler: C: \ projekte \ opencv-python \ opencv \ module \ imgproc \ src \ color.cpp: 7456: fehler: (-215) scn == 3 || scn == 4 in der Funktion cv :: ipp_cvtColor "

Ich kann Beispiele finden, die aufgelöst werden Bei Verwendung von Standbildern, aber nicht eines Video-Feeds. Ich überprüfte die img.shape und es war 3 dimensional, also ist das nicht mein Problem. Irgendwelche Ideen? die

Dank

+0

testen, ob img erfolgreich geladen/erfasst wurde. Die Fehlermeldung sagt Ihnen, dass das Bild nicht ein 3-Kanal-Farbbild ist, so dass Sie es nicht in Graustufen konvertieren können – Micka

Antwort

0

Wechsel:

while 1: 

zu:

while ret == True: 

Hoffentlich hilft das!

Verwandte Themen