Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ошибка в коде Python

Ned0Domer Awesomo Ученик (208), на голосовании 2 месяца назад
Написал простой код, для отслеживания лица на веб-камере.
Запускаю и выводится такая ошибка:
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cv2.error: OpenCV(4.10.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:196: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

КОД:
 import  cv2 

face_cascade_db = cv2.CascadeClassifier(cv2.data.haarcascades+"haarcascade_frontalface_default.html")

cap = cv2.VideoCapture(1)

while True:
success, img = cap.read()

img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

faces = face_cascade_db.detectMultiScale(img_gray, 1.1, 19)
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x+w, y+h), (0,255, 0), 2)
cv2.imshow('idk', img)
if cv2.waitKey(1) & 0xff == ord('q'):
break
cap.release()
cv2.destroyWindow()
Голосование за лучший ответ
ǫᴜᴢᴢ Мастер (1579) 3 месяца назад
 import cv2 

face_cascade_db = cv2.CascadeClassifier(cv2.data.haarcascades+"haarcascade_frontalface_default.xml")

cap = cv2.VideoCapture(0)

while True:
success, img = cap.read()

if not success:
print("Error: Unable to read the video stream")
break

img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade_db.detectMultiScale(img_gray, 1.1, 19)
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x+w, y+h), (0,255, 0), 2)
cv2.imshow('idk', img)
if cv2.waitKey(1) & 0xff == ord('q'):
break

cap.release()
cv2.destroyWindow()
cv2.VideoCapture() не может прочитать видеопоток.
У тебя индекс камеры не тот, скорее всего. Попробуй этот код.
Похожие вопросы