opencv_python使用cv2.imread()读取中文路径,cv2.imwrite()把图片写入中文路径。

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)

你可能感兴趣的:(opencv_python使用cv2.imread()读取中文路径,cv2.imwrite()把图片写入中文路径。)