Python cv2.error:未知的C++;OpenCV代码中的异常
我无法在python中运行cv2.read() 每次我运行一个简单的代码只是为了从我的网络摄像头看到我自己。它给了我一个奇怪的错误,我无法解决,我几乎找了很多关于它。 我只想通过网络摄像头拍摄我的视频 这是我的代码,依我看可能还可以Python cv2.error:未知的C++;OpenCV代码中的异常,python,cv2,Python,Cv2,我无法在python中运行cv2.read() 每次我运行一个简单的代码只是为了从我的网络摄像头看到我自己。它给了我一个奇怪的错误,我无法解决,我几乎找了很多关于它。 我只想通过网络摄像头拍摄我的视频 这是我的代码,依我看可能还可以 import cv2 vid = cv2.VideoCapture(0) while True: _, frame = vid.read() # Display the resulting frame cv2.imshow('my_fra
import cv2
vid = cv2.VideoCapture(0)
while True:
_, frame = vid.read()
# Display the resulting frame
cv2.imshow('my_frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
vid.release()
cv2.destroyAllWindows()
每次我运行这段代码时,它都会出现以下错误-
_, frame = vid.read()
cv2.error: Unknown C++ exception from OpenCV code
我不知道该怎么解决这个问题。我在站台上找了很多
编辑:我认为我的网络摄像头工作正常,因为当我执行代码时,代码运行并打开一个窗口,显示来自网络摄像头的图像,但图像是灰色的,它只工作一两秒钟。它会立即显示错误
我的pip版本是21.1.1。
包裹清单-
Package Version
--------------------- --------
numpy 1.20.3
opencv-contrib-python 4.5.2.52
Pillow 8.2.0
pip 21.1.1
pywin32 300
setuptools 56.2.0
谢谢注意:
- 前两行没有错误
- 第三行,其中(u,)是,无论有多少下划线,2、3或4,它仍然带出相同的错误
- 用return关键字替换(u,)会导致错误
- 用
封闭open()
仍会出错cv2.VideoCapture(0)
- 在OpenCV python 4.5.2.52中,即使在卸载和重新安装OpenCV时,它仍然会这样做
- 子行“ret”在该脚本中不起作用
- 用return关键字替换(_,)仍会有错误
- 删除(,)仍将得到相同的错误
可以很好地显示已经拍摄的照片,但在代码行中不能实时显示(不知何故)cv2
- 有几个教程,尽管更新了日期,但它们的代码在(ret/s/etc)、frame=(cap/vid.read()之后无法工作
- 用open()括住第一个变量赋值将输入一个包含更多错误的字段
vid.read()
将返回一个元组,那么就存在偏差print(vid)
将返回类似于
的内容
使用文本文件,如
file=open('C:\\Users\\username\\Documents\\New folder\\abcdefghijklmnopqrstuvw.txt')
和打印(文件)
,则返回
<_io.TextIOWrapper name='C:\\Users\\username\\Documents\\New folder\\abcdefghijklmnopqrstuvw.txt' mode='r' encoding='cp1252'>
在text=file.read()和打印(text
)之前
OpenCV可以很好地在我的计算机上显示静态图像,但不能在一组(视频)中记录一系列图像
- 在我的电脑上,除了使用其他模块外,别无选择
编辑:
不管我上面说了什么,你需要用0+cv2.CAP\u DSHOW
替换videocapture
中的0
,它基本上转换为索引差(n)加上默认的相机索引号。你试过没有,
吗?是的,我也尝试过替换该变量。您是否可以尝试从OpenCV站点运行此示例:如果摄像头未准备好,它会向您提供反馈。您尝试使用外部教程(它已过时,创建于2013年)。Ref:#17016改用OpenCV文档:您能打开一个命令/bash控制台,运行两个命令pip-V
和pip list
,并将输出添加到您的问题中吗。除非问题是摄像头访问失败,否则软件包的版本对于理解问题很重要。0+cv2.CAP_DSHOW
工作完全正常!谢谢。不知何故,它采用了简单的旧的基本方程(例如,1+1、2+2、3+1等)和数字,就好像它只是被表示为无条件一样。