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

本文针对Python中使用OpenCV库读取中文路径图像时遇到的问题,提供了一种解决方案,通过使用numpy和imdecode函数替代imread,成功解决了中文路径下图像无法读取的困扰。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值