Python读取中文路径出现乱码问题的解决方案

 更新时间:2024年06月26日 08:42:02   作者:独不懂  
小编在使用opencv读取带有中文路径的图片时,发现会出现乱码的情况,当读取的文件路径出现中文时,(文件夹名为中文或者文件为中文)出现错误,所以本文给大家介绍了Python读取中文路径出现乱码问题的解决方案,需要的朋友可以参考下

一、问题描述

笔者在使用opencv读取带有中文路径的图片时,发现会出现乱码的情况。具体问题如下:

# 读取带有中文路径的图片出现错误
import cv2

img_path = r'C:\Users\zephy\Documents\Python\CSDN\测试 图片\图片1.jpg'
img = cv2.imread(img_path, cv2.IMREAD_COLOR)

cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

当读取的文件路径出现中文时,(文件夹名为中文或者文件为中文)出现如下错误:

[ WARN:0@0.024] global loadsave.cpp:241 cv::findDecoder imread_(‘C:\Users\zephy\Documents\Python\CSDN\测试 图片\图片1.jpg’): can’t open/read file: check file path/integrity
Traceback (most recent call last):
File “C:\Users\zephy\Documents\Python\CSDN\demo.py”, line 8, in
cv2.imshow(“image”, img)
cv2.error: OpenCV(4.10.0) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:973: error: (-215:Assertion failed) size.width>0 && size.height>0 in function ‘cv::imshow’

在定位问题时,将读取图片路径和图片名词更换为全英文后,发现可以正常读取,具体如下:

# 读取英文路径下的图片,显示正常
import cv2

img_path = r'C:\Users\zephy\Documents\Python\CSDN\caps.bmp'
img = cv2.imread(img_path, cv2.IMREAD_COLOR)
cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

二、问题解决

定位问题后,发现出现上述错误的原因是在中文路径的编解码上,下面是笔者在查找相关文献后找到的解决方法,具体代码如下:

import cv2
import numpy as np

img_path = r'C:\Users\zephy\Documents\Python\CSDN\测试 图片\图片1.jpg'
img = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), cv2.IMREAD_COLOR)  # 替换cv2.imread(img_path, cv2.IMREAD_COLOR)
cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

运行代码,可顺利读取带有中文路径或中文名词的图片,问题解决。具体读取图片如下:

到此这篇关于Python读取中文路径出现乱码问题的解决方案的文章就介绍到这了,更多相关Python中文路径出现乱码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python监控进程脚本

    python监控进程脚本

    这篇文章主要为大家详细介绍了python监控进程脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • Python条件语句的使用

    Python条件语句的使用

    python 语句是按固定顺序执行的,先执行前面的语句,再执行后面的语句,这篇文章主要介绍了Python条件语句的用法,需要的朋友可以参考下
    2022-08-08
  • python创建ArcGIS shape文件的实现

    python创建ArcGIS shape文件的实现

    今天小编就为大家分享一篇python创建ArcGIS shape文件的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python实现获取邮箱内容并解析的方法示例

    Python实现获取邮箱内容并解析的方法示例

    这篇文章主要介绍了Python实现获取邮箱内容并解析的方法,结合完整实例形式分析了Python登陆pop3服务器并解析获取邮箱内容相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • Python可视化函数plt.scatter详解

    Python可视化函数plt.scatter详解

    这篇文章主要介绍了Python可视化函数plt.scatter详解, 关于matplotlib的scatter函数有许多活动参数,如果不专门注解,是无法掌握精髓的,本文专门针对scatter的参数和调用说起,并配有若干案例,需要的朋友可以参考下
    2023-04-04
  • Python爬虫实例_城市公交网络站点数据的爬取方法

    Python爬虫实例_城市公交网络站点数据的爬取方法

    下面小编就为大家分享一篇Python爬虫实例_城市公交网络站点数据的爬取方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • git使用.gitignore设置不生效或不起作用问题的解决方法

    git使用.gitignore设置不生效或不起作用问题的解决方法

    下面小编就为大家带来一篇git使用.gitignore设置不生效或不起作用问题的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Python封装数据库连接池详解

    Python封装数据库连接池详解

    这篇文章主要介绍了Python封装数据库连接池详解,文章围绕主题相关内容展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-06-06
  • Python文件基本操作实用指南

    Python文件基本操作实用指南

    这篇文章主要给大家介绍了Python文件基本操作的相关资料,其中包括打开文件的方式、按行读取文件内容、复制文件、重命名文件等操作需要的朋友可以参考下
    2021-05-05
  • 利用python实现.dcm格式图像转为.jpg格式

    利用python实现.dcm格式图像转为.jpg格式

    今天小编就为大家分享一篇利用python实现.dcm格式图像转为.jpg格式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01

最新评论