天天看点

color.cpp:7456: error: (-215) scn == 3 || scn == 4 的解决办法

image =cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
           

总是有这个错误,我是批量处理的图片,也不知道是哪张图片的问题

先用的len()函数就知道了错误的所在      
if len(image):
image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
           

会说“NoneType”没有len(函数),就知道有一些图片可能不存在,导致无法转换为灰度图

先使用if吧:

if type(image)==None:
image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
           

不知道为什么不满足if这个条件,还是有错误,使用了try才好使

try:
                image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
            except:
                Exception
                break
           

就没有错误了。

继续阅读