Menyelesaikan Ralat: "ralat: (-215) !empty() dalam function detectMultiScale" dalam Pengesanan Muka OpenCV
Dalam OpenCV, apabila cuba melakukan pengesanan muka menggunakan kaedah cv2.CascadeClassifier.detectMultiScale() , adalah perkara biasa untuk menemui mesej ralat seperti "ralat: (-215) !empty() dalam fungsi detectMultiScale." Ralat ini biasanya menunjukkan isu dengan cara fail xml pengelas lata muka dimuatkan atau dirujuk.
Untuk menangani isu ini, adalah penting untuk memastikan bahawa laluan ke fail xml ditentukan dengan betul. Dalam kod asal yang disediakan:
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
Lokasi khusus fail xml dalam direktori OpenCV tidak ditakrifkan secara eksplisit. Akibatnya, OpenCV mungkin sukar untuk mencari dan memuatkan fail ini.
Penyelesaian yang disyorkan untuk masalah ini ialah menggunakan sifat cv2.data.haarcascades untuk mencari dan memuatkan fail xml yang diperlukan secara automatik. Dengan mengemas kini kod seperti berikut:
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml') eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_eye.xml')
OpenCV akan mendapatkan semula fail xml secara automatik dari lokasi lalainya dalam folder haracascades. Pendekatan ini memastikan bahawa fail yang betul dimuatkan tanpa memerlukan laluan khusus pengekodan keras, menyelesaikan isu dan mendayakan pengesanan muka yang berjaya.
Atas ialah kandungan terperinci ## Mengapa Saya Mendapat \'ralat: (-215) !empty() dalam fungsi detectMultiScale\' Apabila Mengesan Wajah dalam OpenCV?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!