首頁  >  文章  >  後端開發  >  為什麼在使用 OpenCV 的人臉偵測時,函數 detectorMultiScale 中出現錯誤「-215) !empty()」?

為什麼在使用 OpenCV 的人臉偵測時,函數 detectorMultiScale 中出現錯誤「-215) !empty()」?

Linda Hamilton
Linda Hamilton原創
2024-10-25 05:03:29270瀏覽

Why Am I Getting the Error

Error: (-215) !empty() in Function detectorMultiScale

嘗試使用OpenCV 的Scale

嘗試使用OpenCV 的Scale

嘗試使用OpenCV 的ScaledetectorMultiScaledet錯誤: (-215) !empty() 函數中的detectorMultiScale。此錯誤通常是由於級聯分類器檔案無效或損壞而發生。

要解決此問題,請嘗試以下操作:

<code class="python">face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')</code>

確保正確載入分類器檔案

CascadeClassifier 建構子需要包含分類器資料的XML文件的有效路徑。在您的程式碼中:

確保這些路徑指向 XML 檔案的正確位置。如果您不確定位置,可以從 OpenCV GitHub 儲存庫或其他可信任來源取得預先訓練的分類器檔案。

<code class="python">face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_eye.xml')</code>

使用OpenCV 的資料屬性

或者,您可以使用OpenCV 的data 屬性自動定位分類器檔案:

此方法不需要您指定分類器檔案的絕對路徑。

檢查分類器檔案

驗證 haarcascade_frontalface_default.xml 和 haarcascade_eye.xml 檔案是否存在於指定目錄中。如果它們遺失或損壞,請從信譽良好的來源重新下載它們。

確保您的程式碼編譯並執行解決了分類器檔案的問題後,請確保您的程式碼編譯和執行時間沒有錯誤。如果問題仍然存在,請嘗試檢查輸入影像是否有任何問題,例如格式不正確或損壞。

以上是為什麼在使用 OpenCV 的人臉偵測時,函數 detectorMultiScale 中出現錯誤「-215) !empty()」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn