Python用opencv打开中文路径图片报错怎么办?OpenCV库如何读中文路径图片

python程序开发之中经常会使用opencv库来打开图片对其进行操作,但是最近有些小伙伴说它使用cv2中读取图片的方法imread()时遇到中文路径就报错了 。那么下面这篇文章会来给大家介绍一下这个问题出现的原因和解决方法,一起往下看看吧 。

Python用opencv打开中文路径图片报错怎么办?OpenCV库如何读中文路径图片

文章插图
一、问题原因
在使用Imread()方法打开带有中文路径的图片文件时实际上不会发生报错的情况,而是会返回一个空的列表 。这是因为图片文件在python内打开之后是以数组的形式而存在的,但是imread()方法无法去解析中文路径的图片,也就无法返回数据了 。
二、解决方法
这个问题的解决方法最简单的就是将图片文件的名称改为不是中文的即可,但是当有很多图片时就不是适合使用这个方法了 。
那么opencv库除了imread()方法之外还有另一个方法可以以8位图像的格式将图片在python中打开,代码示例如下所示:
import cv2im = cv2.imdecode(np.fromfile(’图片.jpg’,dtype=np.uint8),-1)不过这个方法打开的文件显示之后会发现它的颜色和原图是不一样的,因为此方法将其解码成8位图像之后通道的顺序就变成RGB,要为BGR才可以正常显示 。所以在用了这个方法之后还需要调用cvtColor()方法将图片通道顺序修改过来才可以,示例如下:
cv_rgb = cv2. cvtColor(im,cv2.COLOR_BGR2RGB)【Python用opencv打开中文路径图片报错怎么办?OpenCV库如何读中文路径图片】以上就是关于“Python用opencv打开中文路径图片报错怎么办?OpenCV库如何读中文路径图片”的全部内容了,希望对你有所帮助 。

    推荐阅读