我已经在Raspberry-Pi模块上实现了这段代码,从文件夹中读取png图像并将其转换为灰色,代码如下:
x = glob.glob("/home/pi/pngimages/ss*png")
for imagefile in x[0300:0302]:
img = cv2.imread(imagefile)
gray = cvt.cvtColor(img,cv2.COLOR_BGR2GRAY)
但我收到以下错误:
OpenCV 错误:cvtColor 中的断言失败 (scn == 3 || scn == 4),文件/home/pi/opencv-2.4.10/modules/imgproc/src/color.cpp,第 3205 行追溯(大多数最近通话最后一次):灰色文件= cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)cv2.error:/home/pi/opencv-2.4.10/modules/imgproc/src/color.cpp:3739:错误:(- 215)scn == 3 ||函数 cvtColor 中的 scn == 4
最佳答案
通常,如果图像为 None
,就会发生此断言。首先尝试检查图像是否被正确读取。
x = glob.glob("/home/pi/pngimages/ss*png")
for imagefile in x[0300:0302]:
img = cv2.imread(imagefile)
# You can do a print img.shape here if you want to see what's going on
# If it returns NULL, something's wrong with your image or the path or something else
if img:
gray = cvt.cvtColor(img,cv2.COLOR_BGR2GRAY)
如果您发现它没有执行任何操作,因为 img 是 None
,请检查您的目录并检查它是否正在寻找正确的图像
关于python - opencv、python 和 RaspberryPi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31600859/