首页 文章

opencv,python和RaspberryPi

提问于
浏览
1

我在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错误:断言失败(scn == 3 || scn == 4)在cvtColor中,文件/home/pi/opencv-2.4.10/modules/imgproc/src/color.cpp,line 3205 Traceback(最近一次调用最后一次) ):文件灰色= cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)cv2.error:/home/pi/opencv-2.4.10/modules/imgproc/src/color.cpp:3739:错误:( - 1515)scn == 3 || scn == 4在函数cvtColor中

1 回答

  • 1

    通常,如果图像是 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 cv2 OpenCV Error: Assertion failed (scn == 3 || scn == 4) in unknown function, file ......\modules\imgproc\src\color.cpp

相关问题