解決python中OpenCV庫讀取圖像函數不支持中文路徑問題


解決python中OpenCV庫讀取圖像函數不支持中文路徑問題

問題描述:

  在使用cv2.imread()函數進行讀取圖片的時候發現讀取失敗,首先需要確保路徑有沒有寫錯(如:\需要寫成\\),如果路徑沒有寫錯,但是報下面的錯誤。則表明是中文編碼的問題。如:error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'

解決方法:

  在cv2中有另外一個函數可以幫助我們解決中文的問題。下面給出解決的參考程序:

import cv2  # 導入cv2
import numpy as np  # 需要使用到里面的函數

def my_cv_imread(filepath):
    # 使用imdecode函數進行讀取
    img = cv2.imdecode(np.fromfile(filepath,dtype=np.uint8),-1)
    return img

# 這里路徑需要注意:
# 1、如果使用的是Windows的\做為分隔,則需要使用\\來進行區分,因為單個\表示轉義字符
# 2、如果不想使用\\可以在原來的路徑前面加上r進行標識
filepath = 'D:/code/Python/圖像/問題解決/解決中文路徑問題/5.jpg'  
img = my_cv_imread(filepath)  # 獲取讀取的圖像
cv2.imshow('image', img)  # 顯示圖像
cv2.waitKey(0)

:在上面的路徑問題上,也要注意\和/的區別,在注釋當中已經解析了。這里如果處理不當,同樣會造成讀取失敗的情況。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM