Ошибка: Traceback (most recent call last): File "C:/Users/Алексей/Desktop/Face-Following-Robot-using-Distance-Estimation-master/dewe.py", line 20, in <module> faces = face_cascade.detectMultiScale(gray_frame, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30)) cv2.error: OpenCV(4.10.0) D:\a\opencv-python\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale' Скрипт тут:
import cv2 import serial
# Установка соединения с Arduino Uno через последовательный порт ser = serial.Serial('com16', 9600, timeout=1)
# Загрузка каскадного классификатора для распознавания лиц face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
# Захват видеопотока с вебкамеры cap = cv2.VideoCapture(0)
while True: ret, frame = cap.read()
# Преобразование кадра в оттенки серого для улучшения распознавания gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Распознавание лиц на кадре faces = face_cascade.detectMultiScale(gray_frame, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
if len(faces) > 0: # Лицо обнаружено - отправляем сигнал вращения колес вперед ser.write(b'F') else: # Лицо не обнаружено - останавливаем движение колес ser.write(b'S')
cv2.imshow('Face Detection', frame)
if cv2.waitKey(1) & 0xFF == ord('q'): break
# Освобождение ресурсов cap.release() cv2.destroyAllWindows() ser.close()
тоже самое, я даже директорию указал, этот файл уже есть, всё равно эта ошибка(
/bin/laden
Искусственный Интеллект
(110787)
Алексеев Алексей-Алексеевич, выведи через print() что в итоге получилось и убедись что все слеши на месте и путь совпадает.
File "C:/Users/Алексей/Desktop/Face-Following-Robot-using-Distance-Estimation-master/dewe.py", line 20, in <module>
faces = face_cascade.detectMultiScale(gray_frame, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
cv2.error: OpenCV(4.10.0) D:\a\opencv-python\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale' Скрипт тут: