天天看点

python中cv2.imdecode和cv2.imencode(中文路径下图片的读取和保存)

cv2.imread只能读取英文路径下的图片,若要读取中文路经下的图片需要用cv2.imdecode,否则读取到的图片内容为none,cv2.imdecode也可以用来读取英文路径下的图片

读取:

import cv2
import numpy as np

im_path = 'F:\\test\\frame1.jpg'
im = cv2.imread(im_path)#用于读取英文路径下的图片
#im = cv2.imdecode(np.fromfile(im_path, dtype=np.uint8), -1)#也可以用该方法读取
im_path = 'E:\测试视频01\\frame1.jpg'
im = cv2.imdecode(np.fromfile(im_path, dtype=np.uint8), -1)#只能用该方法读取含有中文路径的图片
print(im)
           

保存:

import cv2
import numpy as np

im_path = 'E:\测试视频01\\frame1.jpg'
im = cv2.imdecode(np.fromfile(im_path, dtype=np.uint8), -1)#只能用该方法读取含有中文路径的图片
# cv2.imwrite(save_path, im) #仅限于纯英文路径
cv2.imencode('.jpg', im)[1].tofile('E:\测试路径/frameTest.jpg')#英文或中文路径均适用