python 3.6.2 cv2.imread() 路徑含有中文讀取圖片失敗解決方案
阿新 • • 發佈:2019-01-14
先從一個簡單的圖片顯示程式開始,程式碼如下:
import cv2
def main():
img=cv2.imread(r"F:\timg.jpg")
cv2.imshow('image',img)
cv2.waitKey(0)
if __name__ == '__main__':
main()
執行結果如圖:
import cv2 def main(): img=cv2.imread(r"F:\圖靈碗.jpg") cv2.imshow('image',img) cv2.waitKey(0) if __name__ == '__main__': main()
報錯,錯誤提示:
讀取圖片時發生異常,一切都是中文路徑惹的禍,程式設計還是一切以英文為主比較好,免得出錯。解決方法如下:
import cv2 import numpy as np def main(): img=cv2.imdecode(np.fromfile(r"F:\圖靈碗.jpg",dtype=np.uint8),-1) #img=cv2.imread(r"F:\圖靈碗.jpg") cv2.imshow('image',img) cv2.waitKey(0) if __name__ == '__main__': main()
完美執行,圖片成功顯示,藉助於numpy來讀入資料,然後cv2.imdecode()把資料轉換(解碼)成影象。