2015-10-14 103 views
0

我想在python 2.7上使用Tkinter做一个GUI,它将在我的Raspberry PI B +上显示视频流。当我在Windows和Ubuntu上测试代码时,认为代码有效,在PI上运行它是一个不同的问题。每当我尝试运行视频我得到相同蟒蛇2.7 cvtColor错误215在树莓派B +

cv2.error: /build/opencv-ISmtkH/opencv-2.4.9.1+dfsg/modules/imgproc/src/color.cpp:3737: error: (-215) snc == 3 || scn == 4 in function cvtColor 

我寻找答案在堆栈溢出和覆盆子PI论坛,如使用modprobe,但至今无那些工作过。

代码波纹管显示问题出在哪里插入的代码示例:

从init方法

self.webcam_width, self.webcam_height = 400, 300 

# We create the cv video capture 
self.cap = cv2.VideoCapture(0) 
self.cap.set(cv2.cv.CV_CAP_PROP_FRAME_WIDTH, self.webcam_width) 
self.cap.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, self.webcam_height) 

方法,更新德视频

def show_frame(self): 
    """ 
    Animate the webcam on the video label 
    :return: 
    """ 
    _, frame = self.cap.read() 
    frame = cv2.flip(frame, 1) 
    cv2image = cv2.cvtColor(frame, cv2.COLOR_BGR2RGBA) 
    img = Image.fromarray(cv2image) 
    imgtk = ImageTk.PhotoImage(image=img) 
    self.webcam_label.imgtk = imgtk 
    self.webcam_label.configure(image=imgtk) 
    self.webcam_label.after(30, self.show_frame) 

感谢您的帮助,并对我的英语感到抱歉

回答

1

问题实际上是在调用th e cvtColor,因为它向我展示了一个libv4l错误。为了解决这个问题,我简单地通过连接网络摄像头启动树莓