imread不能读取中文路径的问题
读取图片所在文件夹中含有中文路径:
jpg_file = r'F:\数据集\3.jpg'
img=cv2.imdecode(np.fromfile(jpg_file,dtype=np.uint8),flags=-1)
cv2.imdecode()函数从指定的内存缓存中读取数据,并把数据转换(解码)成图像格式;主要用于从网络传输数据中恢复出图像。
cv2.imencode()函数是将图片格式转换(编码)成流数据,赋值到内存缓存中;主要用于图像数据格式的压缩,方便网络传输。
# flags: 标志位, 表示读取数据的格式
# 读取彩色可以设为cv2.IMREAD_COLOR(flags=1),
# 读取灰度图像设为cv2.IMREAD_GRAYSCALE(flags=0),
# 读取原始图像设为cv2.IMREAD_UNCHANGED(flags=-1)。
np.fromfile(jpg_file,dtype=np.uint8)
# 用cv2.imdecode()函数之前先使用np.fromfile进行指定格式的读取
写入图片所在文件夹含有中文路径:
cv2.imencode('.jpg', rotated_img)[1].tofile(rotated_path + a + '_' + str(angle) + 'd.jpg')
# rotated_img为图片数据文件,为cv2读取的图片类型
# rotated_path + a + '_' + str(angle) + 'd.jpg' 这是一个文件路径和名字
eg. F:\数据集\shiyan\2_15d.jpg