created tensorflow lite xnnpack delegate for cpu

报错涵义

为CPU创建了tensorflow lite xnnpack委托

我正在学习如何使用opencv,但我遇到了这个问题。

from cvzone.HandTrackingModule import HandDetector
import cv2
cap = 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:\Programming\Arm Code\testhandai.py", line 13, in <module>
    cv2.imshow("AI", img)
cv2.error: OpenCV(4.5.4) :-1: error: (-5:Bad argument) in function 'imshow'
> Overload resolution failed:
>  - mat is not a numerical tuple
>  - Expected Ptr<cv::cuda::GpuMat> for argument 'mat'
>  - Expected Ptr<cv::UMat> for argument 'mat'

我正在使用 Python 3.8 64 位和所有软件包的最新版本。

输出detector.findHands(img)是一个元组。您应该将它的第二个元素作为输入cv2.imshow():

from cvzone.HandTrackingModule import HandDetector
import cv2
cap = 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)
  •