cv2 (cv2.cv2) 中未解析的引用 "cv2"

Unresolved reference "cv2" inside cv2 (cv2.cv2)

我环顾四周,人们似乎遇到了类似的问题,但 none 准确地描述了我的情况,适用于他们的解决方案似乎对我不起作用(或者没有答案根本没有问题)。

使用 pycharm,在安装 opencv-pythonopencv-contrib-python 之后,我注意到 import cv2 有效,但是当我尝试访问 cv2.imread() pycharm 抱怨找不到

所以我去了 cv2 初始化文件,它看起来像这样:

import importlib

from .cv2 import *
from .data import *

# wildcard import above does not import "private" variables like __version__
# this makes them available
globals().update(importlib.import_module('cv2.cv2').__dict__)

Pycharm 在 from .cv2 import * 行检测到未解决的引用,我想同样的问题发生在最后一行 - 我尝试在 python 控制台中执行以下操作:

import cv2
print(__version__)

但是我得到了一个 NameError,这似乎证实了我的怀疑。

如我所写,我已尝试安装 opencv-contrib-python,但似乎没有任何效果,坦率地说,我已经没有主意了。

备注: - 我在 Windows 10 x64。 - 我正在使用 Python 3.6 x64。 - 我在我的 Pycharm 项目上设置了一个虚拟环境。

我发现问题出在 cv2 的 __init__.py 导入所有内容的方式,即 globals().update() 行。

实际上,一切正常,但由于 Pycharm 没有索引那种调用,它没有检测到名称空间是否被正确导入。因此,解决方案是忽略 "error" 并且不使用自动完成。

你有没有通过终端安装opencv?

比如像这样。

$ pip install opencv-python
$ pip install opencv-contrib-python

我也遇到了同样的问题。

如果你使用pycharm,你应该通过pycharm安装opencv。

File -> Settings... -> Project interpreter -> +

我不是专家,但以下行对我有用:

import cv2.cv2 as cv2

之后似乎一切正常。自动补全也回来了

我遇到了同样的问题。您需要尝试几件事。

  1. 您只需导入 cv2 而不是 cv2.cv2。只需写 "import cv2"
  2. 如果之前安装过cv等其他库,请先卸载。
  3. 我们需要安装的库是opencv-python
  4. 您需要通过 IDE 安装它,而不是使用终端。步骤如下: 文件 -> 设置 -> (点击你的项目) -> 项目解释器 -> + - > (类型 opencv-python) -> 下载并安装它 -> 它现在应该可以工作了。