Python OpenCV读取中文路径图像的正确方法

苏见山
苏见山
发布时间:2026-10-14| 4人浏览过
原创

本文介绍在Python中使用OpenCV读取包含中文字符路径的图像文件。由于cv2.imread直接支持有限,通过结合numpy.fromfile与cv2.imdecode可成功加载中文路径图片。实验验证该方法在指定版本下仍保持BGR通道格式,而非常见的RGB,开发者需注意此细节以避免后续处理错误。

OpenCV读取中文路径图像问题

引言

近期在进行相关项目开发时,遇到了OpenCV读取包含中文字符的图像路径这一常见问题。

若直接使用OpenCV的标准读取函数处理此类路径,通常会导致读取失败,返回空数组。


import cv2

cv_im = cv2.imread(‘老干妈.jpg')

解决方案与版本验证

缘起

此前曾参考过一篇关于解决OpenCV无法读取中文路径的文章,其提供的代码简洁且有效,具体实现可参考文章底部的附录部分。


im = cv2.imdecode(np.fromfile(im_name,dtype=np.uint8),-1) 
  • 然而,原代码注释中指出该方法会将读取到的图像通道转换为RGB格式。但在实际测试中,我发现图像通道依然保持为BGR格式,因此进行了以下验证实验。
  • 本次实验所使用的各库版本如下:

opencv-python: 4.2.0.34

Pillow: 7.1.2

python: 3.7.7

matplotlib: 3.2.1

综上所述,使用上述代码读取中文路径图像时,其通道格式仍为BGR。


im = cv2.imdecode(np.fromfile(im_name,dtype=np.uint8),-1) 

代码附录与总结

附录:OpenCV读取图像,解决imread不能读取中文路径的问题

OpenCV-Python无法直接读取包含中文的路径。


# 假设 im_name是中文路径
im = cv2.imdecode(np.fromfile(im_name,dtype=np.uint8),-1) # 读取的数据是RGB 而不是 BGR, 要注意

总结

至此,关于Python OpenCV读取中文路径图像的介绍已结束。如需了解更多相关内容,建议搜索本站历史文章或继续浏览后续推荐内容,感谢大家的支持!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。