模块 'cv2' 中没有 'VideoCapture' 成员

6
import numpy
import cv2

cap = cv2.VideoCapture(0)

while(True):
    ret, frame = cap.read()

    cv2.imshow('frame',frame)
    if cv2.waitKey(20) & 0xFF == ord('q'):
        break


    cap.release()
    cv2.destroyAllWindows()

这是我的代码,我遇到了以下错误: 1. 模块 'cv2' 没有 'VideoCapture' 成员 2. 模块 'cv2' 没有 'imshow' 成员 3. 模块 'cv2' 没有 'waitKey' 成员 4. 模块 'cv2' 没有 'destroyAllWindows' 成员 在此输入图像描述
3个回答

20

如果您使用VSCode,可以尝试使用以下代码:

from cv2 import cv2

1
这个导入是错误的,会抛出一个错误:ImportError: 绑定生成错误。子模块名称应始终以父模块名称开头。父名称:cv2.cv2。子模块名称:cv2 -- 在旧版本的opencv中它曾经工作过,__是偶然的__。 - Christoph Rackwitz

2

我在我的代码中遇到了同样的错误,我按照以下步骤操作后解决了问题。

  1. 使用 pip install opencv-python 安装 OpenCV
  2. 在导入时,这样做:from cv2 import cv2

同样的问题,导入时会抛出 ImportError: Bindings generation error. Submodule name should always start with a parent module name. Parent name: cv2.cv2. Submodule name: cv2 - Christoph Rackwitz

1

导入语句不应该在同一行。

import numpy
import cv2

同时确保您已经安装了OpenCV,使用以下命令:

pip install opencv-python

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接