Python3中的中文路径问题


通常情况下# - - coding:utf-8 _-能解决大部分问题

# -*- coding:utf-8 _*-

但是在OpenCV中,Python3遇见中文路径会无法读取

  • 方法一:可以选择换成Python2.7
  • 方法二:定义一个读取函数
 # 代码一
 def cv_imread(file_path):
    cv_img = cv2.imdecode(np.fromfile(file_path, dtype=np.uint8), -1)
    return cv_img
# 代码二
# coding: utf-8
import cv2

def cv_imread(file_path = ""):
    file_path_gbk = file_path.encode('gbk')        # unicode转gbk,字符串变为字节数组
    img_mat = cv2.imread(file_path_gbk.decode())  # 字节数组直接转字符串,不解码
    return img_mat

接下来在主程序中调用即可

image_array = cv_imread(file_path)

以上两个函数皆能解决直接调用image_array = cv2.imread(file_path)不能读取中文路径问题

参考链接:https://www.zhihu/question/67157462/answer/270637846

更多推荐

Python3中的中文路径问题