Питон для отслеживания рук

#python #pycharm

Вопрос:

написал этот код после урока YouTube по отслеживанию рук:

 import cv2 import mediapipe as mp import time  cap = cv2.VideoCapture(1)  mpHands = mp.solutions.hands hands = mpHands.Hands() mpDraw = mp.solutions.drawing_utils  pTime = 0 cTime = 0  while True:  success, img = cap.read()  imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)  results = hands.process(imgRGB)  # print(results.multi_hand_landmarks)   if results.multi_hand_landmarks:  for handLms in results.multi_hand_landmarks:  for id, lm in enumerate(handLms.landmark):  # print(id, lm)  h, w, c = img.shape  cx, cy = int(lm.x * w), int(lm.y * h)  print(id, cx, cy)  # if id == 4:  cv2.circle(img, (cx, cy), 15, (255, 0, 255), cv2.FILLED)   mpDraw.draw_landmarks(img, handLms, mpHands.HAND_CONNECTIONS)   cTime = time.time()  fps = 1 / (cTime - pTime)  pTime = cTime   cv2.putText(img, str(int(fps)), (10, 70), cv2.FONT_HERSHEY_PLAIN, 3,  (255, 0, 255), 3)   cv2.imshow("Image", img)  cv2.waitKey(1)  

когда я запускаю этот код, которому я следовал, я получаю это сообщение об ошибке:

 C:UsersgouriPycharmProjectsopencv2venvScriptspython.exe C:/Users/gouri/PycharmProjects/opencv2/main.py [ WARN:0] global D:aopencv-pythonopencv-pythonopencvmodulesvideoiosrccap_msmf.cpp (438) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback Traceback (most recent call last):  File "C:/Users/gouri/PycharmProjects/opencv2/main.py", line 16, in lt;modulegt;  imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) cv2.error: OpenCV(4.5.4) D:aopencv-pythonopencv-pythonopencvmodulesimgprocsrccolor.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'  INFO: Created TensorFlow Lite XNNPACK delegate for CPU.  

и да, я правильно установил все пакеты, и моя версия python обновлена.

Комментарии:

1. Возможно, изображение загружается неправильно. В моем обычном случае это сбой подключения камеры. Может быть, вы сможете это проверить.

2. да, ошибка утверждения выглядит так , как будто в вашем img нет данных или их нет, просто отладьте то, что вы получаете в переменной img.