Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 功能cvtColor中树莓Pi的OpenCV错误_Python_Opencv_Raspberry Pi - Fatal编程技术网

Python 功能cvtColor中树莓Pi的OpenCV错误

Python 功能cvtColor中树莓Pi的OpenCV错误,python,opencv,raspberry-pi,Python,Opencv,Raspberry Pi,我使用的是Raspberry Pi型号B+和新安装的Raspbian和Raspberry Pi摄像头。我在玩一些OpenCV代码,特别是用于对象跟踪的代码。我找到了一段代码,它一开始就工作了 这是有问题的代码 import cv2 import numpy as np cap = cv2.VideoCapture(0) while(1): # Take each frame _, frame = cap.read() # Convert BGR to HSV hsv = cv2.cvtC

我使用的是Raspberry Pi型号B+和新安装的Raspbian和Raspberry Pi摄像头。我在玩一些OpenCV代码,特别是用于对象跟踪的代码。我找到了一段代码,它一开始就工作了

这是有问题的代码

import cv2
import numpy as np

cap = cv2.VideoCapture(0)

while(1):

# Take each frame
_, frame = cap.read()

# Convert BGR to HSV
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

# define range of blue color in HSV
lower_blue = np.array([110, 50, 50], dtype=np.uint8)
upper_blue = np.array([130,255,255], dtype=np.uint8)

# Threshold the HSV image to get only blue colors
mask = cv2.inRange(hsv, lower_blue, upper_blue)

# Bitwise-AND mask and original image
res = cv2.bitwise_and(frame,frame, mask= mask)

cv2.imshow('frame',frame)
cv2.imshow('mask',mask)
cv2.imshow('res',res)
k = cv2.waitKey(5) & 0xFF
if k == 27:
    break

cv2.destroyAllWindows()
但当我再次尝试运行它时,我遇到了以下错误:

Traceback (most recent call last):
File "/home/pi/Desktop/Alpha/object.py", line 50, in <module>
hsv = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)
error: /usr/src/packages/BUILD/opencv-2.4.1+dfsg/modules/imgproc/src/color.cpp:3344: error: (-215) (scn == 3 || scn == 4) && (depth == CV_8U || depth == CV_32F) in function cvtColor
回溯(最近一次呼叫最后一次):
文件“/home/pi/Desktop/Alpha/object.py”,第50行,在
hsv=cv2.CVT颜色(帧,cv2.COLOR_BGR2HSV)
错误:/usr/src/packages/BUILD/opencv-2.4.1+dfsg/modules/imgproc/src/color.cpp:3344:函数cvtColor中的错误:(-215)(scn==3 | | scn==4)和(depth==CV|8U | depth==CV|32F)

需要帮忙吗?它第一次起作用,但后来就不起作用了。我什么都试过了

所以我找到了答案。我所要做的就是在我的raspberry pi上运行以下代码:

sudo modprobe bcm2835-v4l2

谢谢你的帮助

时,您的
正文中不应该有一些内容吗?请在
之后测试图像是否为空。阅读
(在这种情况下,关闭程序或跳过循环迭代)可能您的相机没有正确“关闭”,并且您的程序不允许再次访问它。试着拔下相机的插头。看,下面有东西。我猜当我复制并粘贴到这里时,它的代码格式不同。你没有在代码末尾发布捕获。您提供的解决方案不是正确答案,即使它暂时解决了您的问题。正如米卡所说,在每次读取操作之后,您需要检查帧是否为空,如果帧不为空,则继续后续代码。希望能有帮助。