opencv cv2(cv2.cv2)中未解析的引用“cv2”

sqyvllje  于 2022-11-30  发布在  其他
关注(0)|答案(5)|浏览(327)

我环顾四周,人们似乎也有类似的问题,但没有一个人确切地描述了我的情况,对他们有效的解决方案似乎对我不起作用(或者根本没有答案)。
使用pycharm,在安装了opencv-pythonopencv-contrib-python之后,我注意到import cv2可以工作,但是当我尝试访问cv2.imread()时,pycharm抱怨找不到它。
所以我转到cv 2 init文件,它看起来像这样:

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项目上设置了一个虚拟环境。

ux6nzvsh

ux6nzvsh1#

我不是Maven,但下面这句话对我很管用:

import cv2.cv2 as cv2

之后一切似乎都正常了。自动完成功能也恢复了

bprjcwpo

bprjcwpo2#

您是否通过终端安装了opencv?
比如像这样。

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

我也经历过同样的问题。
如果你使用pycharm,你应该通过pycharm安装opencv。
一个月一个月一个月-〉一个月一个月一个月-〉一个月二个月一个月-〉一个月三个月一个月

mqkwyuun

mqkwyuun3#

我发现这个问题是由于cv2的__init__.py如何导入所有的东西,即globals().update()行。
实际上,一切都是可行的,但是由于Pycharm不对这种调用进行索引,所以它不能检测到名称空间被正确导入,因此解决方案是忽略“错误”,不使用自动完成。

gfttwv5a

gfttwv5a4#

我也有同样的问题。你需要尝试一些东西。
1.您只需导入cv 2而不是cv2.cv2。只需编写**“import cv 2”**
1.如果您以前安装过任何其他库(如cv),请先将其卸载。
1.我们需要安装的库是opencv-python
1.需要通过IDE安装,而不是通过终端安装,步骤如下:文件-〉设置-〉(点击你的项目)*-〉项目解释器-〉+-〉(键入opencv-python)*-〉下载并安装-〉现在应该可以工作了。

r6hnlfcb

r6hnlfcb5#

从Python解释器下载opencv-python4.5.4.60和opencv-contrib-python 4.5.5.64的版本。

相关问题