解決opencv讀取、儲存影像時路徑包含中文和特殊符號

潛行隱耀發表於2020-12-22
import cv2
import numpy as np

# 路徑中包含特殊符號,使用cv2.imread()和cv2.imwrite()時會讀取、儲存失敗
img_path = r'C:\Users\admin\Desktop\8Dicellograptus cf. complanatus\Shot_201907121711130877.jpg'
save_path = r'C:\Users\admin\Desktop\8Dicellograptus cf. complanatus\Shot_201907121711130877_1.jpg'

# 解決方法:藉助numpy
# 讀取:先用numpy讀取為ndarray,再用opencv解碼
image = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), -1)
# 儲存:先用opencv對影像進行編碼,編碼後的影像是一個一維的ndarray,再用numpy儲存
is_success, im_buf_arr = cv2.imencode('.jpg', image)
im_buf_arr.tofile(save_path)

 

相關文章