首頁 >後端開發 >Python教學 >\'錯誤:(-215) !empty() 函數中的 detectorMultiScale:為什麼我的人臉偵測失敗,如何修復它?\”

\'錯誤:(-215) !empty() 函數中的 detectorMultiScale:為什麼我的人臉偵測失敗,如何修復它?\”

Patricia Arquette
Patricia Arquette原創
2024-10-25 10:38:30664瀏覽

錯誤處理:解決OpenCV 中的「錯誤:(-215) !empty() in function detectorMultiScale」

當嘗試使用選擇() 方法來偵測影像中的人臉,您可能會遇到錯誤「error: (-215) !empty() in function detectorMultiScale」。當人臉偵測的關鍵元件-人臉級聯分類器未正確載入時,通常會出現此錯誤。

要解決此問題,必須確保提供給 Haar 級聯 XML 檔案的路徑有效。在提供的程式碼片段中,級聯分類器正在載入硬編碼路徑,這對於您的系統可能不準確。相反,OpenCV 提供了一個方便的屬性來自動定位這些檔案。

下面更新的程式碼示範如何使用OpenCV 的屬性來修正問題:

<code class="python">import cv2

# Use OpenCV's property to locate the Haar cascade XML files
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_eye.xml')

# Proceed with face detection
img = cv2.imread('2015-05-27-191152.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x, y, w, h) in faces:
    img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)</code>

透過利用OpenCV 的屬性,您可以確保人臉級聯分類器已正確加載,解決了「error: (-215) !empty() in function detectorMultiScale」問題。

以上是\'錯誤:(-215) !empty() 函數中的 detectorMultiScale:為什麼我的人臉偵測失敗,如何修復它?\”的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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