解决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)

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

猜你喜欢

转载自www.cnblogs.com/zhicungaoyuan-mingzhi/p/13181333.html
今日推荐