iT邦幫忙

0

#新手python 學習人臉辨識遇到問題

https://ithelp.ithome.com.tw/upload/images/20210520/20136815UaUtyUrj3O.jpg
上網查過許多 但是看不太懂@@....

最好還是在python原生系統linux上實作,避免因為檔案路徑結構的差異(最常發生在套件身上,包括含中文的檔名及路徑、空白、斜線反斜雙反斜)而難以處理檔案的狀況
如果是在網上找來的範例程式,也會因為寫在程式裡的檔名結構跟windows不合而造成跨平台上的trouble

2 個回答

0
hokou
iT邦新手 3 級 ‧ 2021-05-20 08:06:23

依照之前的經驗,是沒讀到圖,而且又是中文的路徑
先把檔名改成不是中文的(img.jpg),再放到跟你的 py 檔一樣的位置試試看

cv2.imread("img.jpg")

不然參考這個方法

import numpy as np

cv_img=cv2.imdecode(np.fromfile(filePath,dtype=np.uint8),-1)

來源

看更多先前的回應...收起先前的回應...

您好,謝謝您的修正,但在後面又遇到這個問題,再麻煩您幫我看一下><https://ithelp.ithome.com.tw/upload/images/20210520/20136815de6j5zvfTX.jpg

hokou iT邦新手 3 級 ‧ 2021-05-20 16:25:08 檢舉

我猜是 roi_gray 出問題
cv2.imshow("gray",roi_gray)
如果是空的就要看看是不是哪邊出錯了

請問是要在哪裡做更改呢@@

hokou iT邦新手 3 級 ‧ 2021-05-20 16:50:12 檢舉

就先在第 7 行 roi_gray = gray[...] 的下一行確認看看

變成是這樣嗎?
https://ithelp.ithome.com.tw/upload/images/20210520/20136815xNkBXwJqjM.jpg

hokou iT邦新手 3 級 ‧ 2021-05-21 17:06:13 檢舉

剛剛才看到,你那個錯誤是最前面 import cv2 的區塊要重跑
還沒跑到我們要確認的地方

0
sx0800
iT邦新手 4 級 ‧ 2021-05-21 08:41:11

cv2 無法直接處理中文檔名的關係,hokou 第2個方法是正解。
fname = np.fromfile(picfilename, dtype = np.uint8)
bgr_image = cv2.imdecode(fname, cv2.IMREAD_COLOR)

我要發表回答

立即登入回答