簡體   English   中英

Python-Opencv 錯誤:(-215) scn == 3 || 函數 cv::cvtColor 中的 scn == 4

[英]Python-Opencv error: (-215) scn == 3 || scn == 4 in function cv::cvtColor

import numpy as np
import cv2
import thread, winsound

face_cascade = cv2.CascadeClassifier('C:\Users\Saddaqat\Desktop\Softwares\opencv\build\share\OpenCV\haarcascades\haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('C:\Users\Saddaqat\Desktop\Softwares\opencv\build\share\OpenCV\haarcascades\haarcascade_eye.xml')

def beep():
  for i in xrange(4):
    winsound.Beep(1500, 250)

cam = cv2.VideoCapture(0)
count = 0
iters = 0
while(True):
      ret, cur = cam.read()
      gray = cv2.cvtColor(cur, cv2.COLOR_BGR2GRAY)
      faces = face

    _cascade.detectMultiScale(gray,scaleFactor = 1.1, minNeighbors=1, minSize=(10,10))
          for (x,y,w,h) in faces:
            #cv2.rectangle(cur,(x,y),(x+w,y+h),(255,0,0),2)
            roi_gray = gray[y:y+h,x:x+w]
            roi_color = cur[y:y+h,x:x+w]
            eyes = eye_cascade.detectMultiScale(roi_gray)
        if len(eyes) == 0:
          print "Eyes closed"
        else:
          print "Eyes open"
        count += len(eyes)
        iters += 1
        if iters == 2:
          iters = 0
          if count == 0:
            print "Drowsiness Detected!!!"
            thread.start_new_thread(beep,())
          count = 0
        for (ex,ey,ew,eh) in eyes:
            cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh), (0,255,0),2)
      cv2.imshow('frame', cur)
      if cv2.waitKey(1) & 0xFF == ord('q'):
        cv2.destroyAllWindows()
        break
//

我正面臨這個錯誤 請解決這個錯誤。 提前感謝和愛;)

Traceback (most recent call last):
   File "C:\Users\Saddaqat\Desktop\fatigue detection code", line 17, in <module>
        gray = cv2.cvtColor(cur, cv2.COLOR_BGR2GRAY)
    error: ..\..\..\..\opencv\modules\imgproc\src\color.cpp:3739: error: (-215) scn == 3 || scn == 4 in function cv::cvtColor

好吧,對我來說,VideoCapture 似乎無法正常工作。 您應該在閱讀圖像后檢查它是否可以讀取某些內容:

ret, cur = cam.read()
if not ret:
    print "VideoCapture read no frame."
    break

如果是這種情況,SO 中的一些答案可能會對您有所幫助,例如: OpenCV 2.4 VideoCapture 在 Windows 上不起作用基本上,他們說您可能在使用 ffmpeg 時遇到問題。 也許您必須將它添加到 Windows 路徑,和/或重命名它以在其上包含 OpenCV 版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM