opencv中cv2.imread()返回值为None
今天使用了opencv的imread方法读取一张图片的时候,这个方法反复给我返回一个none,导致我后面没法进行,

后来我就去百度了,
百度上都说是图片路径中含有中文,可是我这个没有中文啊,
又看到说是图片路径错了,然后我就把绝对路径和相对路径都写了一遍,最后还是返回一个none
最后,又看到说是opencv的版本问题,无奈之下,我又更新了一下opencv,但是最后,还是没用。
我重新去看其他代码,很奇怪,其他的代码就可以读取到这个图片,只有这个文件读取不到,然后,我就看到了
我创建的demo1文件夹,豁然开朗,原来还是路径出了问题,图片的路径相对于文件夹的路径,首先要退出该文
件夹,使用“../”,然后再进入其他的文件夹,应该是下面这样:

这样就可以顺利读取到图片的信息了!所以,在使用相对路径时,切记要看好文件夹的路径!
但是,问题出现了,为什么我使用过绝对路径却还是不行呢?这也不存在相不相对的问题啊,就像下面这样:

返回值最后还是none呢?
那是因为,我们通常取绝对路径时,会直接在文件上,右击“Copy Path”,然后选择“Absolute Path”,这样
得到的路径就是像我上面这样的路径,“F:\pythonProject1\images\1.jpg”,但是,直接使用这个路径根本读
取不到信息,因为斜线”\“的方向错了,应该是这个方向,”/“,像下面这样就可以读取到了

总结一些,对于imread方法最后的返回值为none时的解决方法:
1、查看路径是否有中文
2、如果使用相对路径,则查看文件夹的位置,是否要进行”../“的退出操作,如果使用绝对路径,则要修改斜线的方向