1.方法一
# 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
2.方法二:
opencv不接收non-ascii的路径,可能是考虑到跨平台的原因吧,那现在只需要将unicode字符串编码为gbk字节数组,然后把gbk字节数组直接变为字符串,这个字符串就是ascii的路径了。
# coding: utf-8
def cv_imread(file_path):
cv_img = cv2.imdecode(np.fromfile(file_path,dtype=np.uint8),-1)
return cv_img
作者:wangjian
链接:https://www.zhihu.com/question/67157462/answer/270637846
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。