opencv_python使用cv2.imread()读取中文路径,cv2.imwrite()把图片写入中文路径
定义函数:
cv2_imread(path)代替cv2.imread()
cv2_imwrite(path,img)代替cv2.imwrite()
import cv2
import numpy as np
#cv2读取中文路径图片,path:读取照片的位置
# flog = -1:返回图像的深度不变
# flog = 0:总是返回一个灰度图
# flog = 1:总是返回一个彩色图。
def cv2_imread(path,flag):
img=cv2.imdecode(np.fromfile(path,dtype=np.uint8),flag)
return img
#cv2 图片写入中文路径,path:要写入的路径,img:cv2读取的照片
def cv2_imwrite(path,img):
cv2.imencode(".jpg", img)[1].tofile(path)
if __name__ == '__main__':
#读取路径
path1 = r"C:\Users\xiahuadong\Pictures\名人照片\chenglong\timg6O8I6VL6.jpg"
#读取的图片
img = cv2_imread(path1,0)
# img: [[[237 230 227]
# [237 230 227]
# [237 230 227]
# ...
cv2.imshow('image', img)
cv2.waitKey(0)
#写入的路径
path2 = r"C:\Users\xiahuadong\Pictures\名人照片\chenglong\test.jpg"
cv2_imwrite(path2, img)