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

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

问题描述:

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

1504234-20200623115544103-259892229.png

解决方法:

在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)

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值