当前位置:首页 >> 脚本专栏

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

引言

这几天做点小东西,涉及到OpenCV读取中文图像的问题

如果直接读取中文路径的图像,往往返回[]

import cv2

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

缘起

偶然发现opencv 读取图像,解决imread不能读取中文路径的问题文章,代码简单有效,可以参考下文章底部附录

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

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

总结以下代码读取中文路径图像通道格式仍为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, 要注意

总结