Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python cv2.error:未知的C++;OpenCV代码中的异常_Python_Cv2 - Fatal编程技术网

Python cv2.error:未知的C++;OpenCV代码中的异常

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

我无法在python中运行cv2.read()

每次我运行一个简单的代码只是为了从我的网络摄像头看到我自己。它给了我一个奇怪的错误,我无法解决,我几乎找了很多关于它。 我只想通过网络摄像头拍摄我的视频

这是我的代码,依我看可能还可以

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等)和数字,就好像它只是被表示为无条件一样。