2017-08-29 61 views
0

我在下面的代碼中試圖做的是用python創建一個opencv程序來打開我的筆記本電腦攝像頭和篩選相機,以便它只會顯示我的衣服。但是我偶爾也運行該程序,因爲我遇到了似乎來自代碼第10行的錯誤。這絕對不是一個錯誤的錯誤,我再次檢查它。opencv與python篩選顏色給出錯誤

的代碼示例

#color filtering 
import cv2 
import numpy as np 

#use camera 
cap = cv2.VideoCapture(1) 

while True: 
    _, frame = cap.read() 
    `this line seem to be the source-->` hsv=cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) 


    # hsv hue sat value 
    # try to get the value of the color that you want 
    lower_red = np.array([150,150,150]) 
    upper_red = np.array([180,255,255]) 

    mask = cv2.inRange(hsv, lower_red, upper_red) 
    res = cv2.bitwise_and(frame,frame, mask = mask) 

    cv2.imshow('frame',frame) 
    cv2.imshow('mask',mask) 
    cv2.imshow('result',res) 

    k = cv2.waitKey(5) & 0xFF 
    if k == 27: 
     break 

cv2.destroyAllWindows() 

#release camera 
cap.release() 

錯誤

Traceback (most recent call last): 
    File "D:/Program_Files/Python/legit8.py", line 10, in <module> 
    hsv=cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) 
cv2.error: C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:10705: error: (-215) (scn == 3 || scn == 4) && (depth == CV_8U || depth == CV_32F) in function cv::cvtColor 
+0

非常感謝你的傢伙應該把這個答案,我會立即給你豎起大拇指:D – jakson

+0

我做了,並刪除了評論,也許我應該保持這個大聲笑很高興有幫助! – magicleon

回答

3

你的框架可能是None。這可能是因爲VideoCapture(1)。如果您的攝像頭是連接到您計算機的唯一凸輪,請使用VideoCapture(0)

+2

如果您在使用圖片時遇到問題,請隨時*嘗試顯示圖片並打印圖片的值和dtype,以查看數據是否與您期望的一樣! –