相关文章推荐
飘逸的饭卡  ·  python移动文件问题 - ...·  2 月前    · 
细心的苹果  ·  7.2.2 Android ...·  1 年前    · 
儒雅的钢笔  ·  搜索 ...·  1 年前    · 

opencv中cv2.imread()返回值为None

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

返回none

后来我就去百度了,

百度上都说是图片路径中含有中文,可是我这个没有中文啊,

又看到说是图片路径错了,然后我就把绝对路径和相对路径都写了一遍,最后还是返回一个none

最后,又看到说是opencv的版本问题,无奈之下,我又更新了一下opencv,但是最后,还是没用。

我重新去看其他代码,很奇怪,其他的代码就可以读取到这个图片,只有这个文件读取不到,然后,我就看到了

我创建的demo1文件夹,豁然开朗,原来还是路径出了问题,图片的路径相对于文件夹的路径,首先要退出该文

件夹,使用“../”,然后再进入其他的文件夹,应该是下面这样:

这样就可以顺利读取到图片的信息了!所以,在使用相对路径时,切记要看好文件夹的路径!

但是,问题出现了,为什么我使用过绝对路径却还是不行呢?这也不存在相不相对的问题啊,就像下面这样:

返回值最后还是none呢?

那是因为,我们通常取绝对路径时,会直接在文件上,右击“Copy Path”,然后选择“Absolute Path”,这样

得到的路径就是像我上面这样的路径,“F:\pythonProject1\images\1.jpg”,但是,直接使用这个路径根本读

取不到信息,因为斜线”\“的方向错了,应该是这个方向,”/“,像下面这样就可以读取到了

总结一些,对于imread方法最后的返回值为none时的解决方法:

1、查看路径是否有中文

2、如果使用相对路径,则查看文件夹的位置,是否要进行”../“的退出操作,如果使用绝对路径,则要修改斜线的方向

发布于 2021-11-26 19:59