解决python中OpenCV库读取图像函数不支持中文路径问题

Posted 明志

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决python中OpenCV库读取图像函数不支持中文路径问题相关的知识,希望对你有一定的参考价值。

解决python中OpenCV库读取图像函数不支持中文路径问题

问题描述:

  在使用cv2.imread()函数进行读取图片的时候发现读取失败,首先需要确保路径有没有写错(如:\\需要写成\\\\),如果路径没有写错,但是报下面的错误。则表明是中文编码的问题。如:error: (-215:Assertion failed) size.width>0 && size.height>0 in function \'cv::imshow\'

解决方法:

  在cv2中有另外一个函数可以帮助我们解决中文的问题。下面给出解决的参考程序:

import cv2  # 导入cv2
import numpy as np  # 需要使用到里面的函数

def my_cv_imread(filepath):
    # 使用imdecode函数进行读取
    img = cv2.imdecode(np.fromfile(filepath,dtype=np.uint8),-1)
    return img

# 这里路径需要注意:
# 1、如果使用的是Windows的\\做为分隔,则需要使用\\\\来进行区分,因为单个\\表示转义字符
# 2、如果不想使用\\\\可以在原来的路径前面加上r进行标识
filepath = \'D:/code/Python/图像/问题解决/解决中文路径问题/5.jpg\'  
img = my_cv_imread(filepath)  # 获取读取的图像
cv2.imshow(\'image\', img)  # 显示图像
cv2.waitKey(0)

:在上面的路径问题上,也要注意\\和/的区别,在注释当中已经解析了。这里如果处理不当,同样会造成读取失败的情况。

以上是关于解决python中OpenCV库读取图像函数不支持中文路径问题的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV 函数学习01-图像的读取(cv2.imread)

opencv读取ENVI标准格式

OpenCV 是不是支持 .HEIC 图像格式?

OpenCV - 将蒙版应用于彩色图像

python中音频图像识别和网页相关的库合集!

Python下的OpenCV学习 02 —— 图像的读取与输出