我正在学习如何使用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.864位和最新版本的所有包。谢谢。
3条答案
按热度按时间oxf4rvwz1#
detector.findHands(img)
的输出是一个元组。您应该给予它的第二个元素作为cv2.imshow()
的输入:uxhixvfz2#
mediapipe添加了一个新的变量,它增加了手部跟踪和姿势估计的调用复杂度和model_complexity。见下文。
现在我在做人脸检测,模块工作完美,但是当我把它拉到一个不同的时候它失败了。
用于手跟踪模块
对于评估后模块:
xpcnnkqh3#
只需进入源代码编辑器并
然后重新安装
我也有同样的错误,这对我很有效