Ralat: (-215) !empty() dalam Function detectMultiScale
Apabila cuba menggunakan fungsi detectMultiScale OpenCV, anda mungkin menghadapi ralat : (-215) !empty() dalam fungsi detectMultiScale. Ralat ini biasanya berlaku disebabkan oleh fail pengelas lata yang tidak sah atau rosak.
Untuk menyelesaikan isu ini, cuba yang berikut:
Pastikan Fail Pengelas Dimuatkan dengan Betul
Pembina CascadeClassifier memerlukan laluan yang sah ke fail XML yang mengandungi data pengelas. Dalam kod anda:
<code class="python">face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')</code>
Pastikan laluan ini menghala ke lokasi fail XML yang betul. Jika anda tidak pasti lokasi, anda boleh mendapatkan fail pengelas terlatih daripada repositori OpenCV GitHub atau sumber lain yang dipercayai.
Gunakan Sifat Data OpenCV
Sebagai alternatif , anda boleh menggunakan sifat data OpenCV untuk mengesan fail pengelas secara automatik:
<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>
Pendekatan ini tidak memerlukan anda untuk menentukan laluan mutlak ke fail pengelas.
Semak Fail Pengelas
Sahkan bahawa fail haracascade_frontalface_default.xml dan haracascade_eye.xml terdapat dalam direktori yang ditentukan. Jika ia hilang atau rosak, muat turunnya sekali lagi daripada sumber yang bereputasi.
Pastikan Kod Anda Tersusun dan Berjalan
Setelah anda menyelesaikan isu dengan fail pengelas, pastikan kod anda disusun dan dijalankan tanpa ralat. Jika isu itu berterusan, cuba semak imej input untuk sebarang isu, seperti pemformatan yang salah atau rasuah.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \'-215) !empty() dalam function detectMultiScale\' Apabila Menggunakan Pengesanan Muka OpenCV?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!