【发布时间】:2023-02-03 09:42:51
【问题描述】:
我一直遇到这个错误,无法修复。我和很多人谈过,他们不知道该怎么做。我的代码如下。这是非常简单的代码,可以打开我的网络摄像头并显示实时视频。我在 M1 Mac 64 位 Ventura 13.2 上使用 python 3.8.0,使用 VsCode 和最新版本的 openCv、Mediapipe 和 numpy。我尝试过不同的 IDE,但没有成功。
import cv2
import mediapipe as mp
import numpy as np
mp_drawing = mp.solutions.drawing_utils
mp_pose = mp.solutions.pose
#VIDEO FEED
cap = cv2.VideoCapture(0)
while cap.isOpened():
ret, frame = cap.read()
cv2.imshow('Mediapipe Feed', frame)
if cv2.waitKey(10) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
我第一次运行这段代码时就开始工作了。我运行了几次,然后通过 HDMI 将我的笔记本电脑连接到内置摄像头的电视,然后断开我的笔记本电脑与电视的连接,现在我的代码不起作用。我认为这与无法在我的笔记本电脑上找到相机有关,但我无法弄清楚。任何帮助都会很棒!我尝试将 .VideoCapture() 中的参数从 -10 更改为 10,但仍然没有成功。
【问题讨论】:
-
请提供更多调试信息。您的示例中似乎没有使用 mediapipe 代码。所以如果你删除这些行会更清楚。在这种情况下,错误消息可能不会包含有关 mediapipe 的任何内容。那么确切的错误信息是什么?
cap.isOpened()的结果是什么?ret的结果是什么? -
嗨 Markus,是的,对于这段代码,我没有使用 Mediapipe。我应该删除它,抱歉。我收到的错误消息是“zsh:非法硬件指令”,后跟此测试文档在我的计算机上的保存路径。发生的事情是 cap = cv2.VideoCapture(0) 上面的所有代码都运行得很好。当它到达这一行时,计算机发现一个错误并停止程序,并返回那个 zsh 错误。 ret 并且整个 while 循环没有运行,因为计算机没有获取该代码。有什么建议么?感谢您的帮助!!
-
对不起,我没有使用 Mac。类似问题:stackoverflow.com/q/65383338/18667225
标签: python opencv computer-vision mediapipe