#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.