2017-08-29 18 views
0

私のコードで以下のことをしようとしているのは、自分の衣服だけを表示するように、私のラップトップのwebcamとカメラのフィルタを開くpythonでopencvプログラムを作成することです。私はコードの10行目から来ているように見えるエラーが発生しているので、私はプログラムを実行することもできませんでした。それは間違いなくミスペルエラーではない、私はそれをダブルチェックした。pythonで色をフィルタリングするopencvでエラーが発生する

コードサンプル

#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を出力して、データが期待通りに表示されるようにしてください。 –

関連する問題