Как решить «cv2.ошибка: OpenCV(4.5.4) :-1: ошибка: (-5:Неверный аргумент) в функции ‘imshow'»

#python #opencv #visual-studio-code

#питон #opencv #cvzone

Вопрос:

Я учусь использовать opencv, но сталкиваюсь с этой проблемой.

 from cvzone.HandTrackingModule import HandDetectorimport cv2cap = cv2.VideoCapture("https://192.168.178.49:8080/video")detector = HandDetector(maxHands=1, detectionCon=0.7)while True: success, img= cap.read()  img = detector.findHands(img)   cv2.imshow("AI", img) cv2.waitKey(1) 

Приводит к этой ошибке:

 INFO: Created TensorFlow Lite XNNPACK delegate for CPU.Traceback (most recent call last): File "d:ProgrammingArm Codetesthandai.py", line 13, in lt;modulegt; cv2.imshow("AI", img)cv2.error: OpenCV(4.5.4) :-1: error: (-5:Bad argument) in function 'imshow'gt; Overload resolution failed:gt; - mat is not a numerical tuplegt; - Expected Ptrlt;cv::cuda::GpuMatgt; for argument 'mat'gt; - Expected Ptrlt;cv::UMatgt; for argument 'mat' 

Я использую 64-разрядный Python 3.8 и последнюю версию для всех пакетов.Спасибо.

Ответ №1:

Вывод detector.findHands(img) — это кортеж. Вы должны предоставить второй его элемент в качестве входных данных для cv2.imshow() :

 from cvzone.HandTrackingModule import HandDetectorimport cv2cap = cv2.VideoCapture("https://192.168.178.49:8080/video")detector = HandDetector(maxHands=1, detectionCon=0.7)while True: success, img= cap.read()  img = detector.findHands(img)   cv2.imshow("AI", img[1]) cv2.waitKey(1)