AttributeError: 模块'cv2'没有属性'imread'。

9 人关注

(我使用的是Mac OS 10.8.5)

我在使用Python 3(通过jupyter notebook),并试图 import cv2

I did import cv2 succefully, but when I type im_g = cv2.imread("smallgray.png", 0) I get this error:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-7-5eb2880672d2> in <module>()
----> 1 im_g = cv2.imread("smallgray.png", 0)
AttributeError: module 'cv2' has no attribute 'imread'

我还检查了dir(cv2),我得到了。

['__doc__', '__loader__', '__name__', '__package__', '__path__', '__spec__'

我想很多功能都没有了...... 是由于错误的opencv安装造成的吗? 事实上,我在获得opencv方面做了很多努力,我想我通过终端安装了 "太多次 "和不同的方法。(brew, pip)

我应该卸载opencv并重新开始吗?我怎样才能正确地做到这一点?

3 个评论
你是否有另一个名为 cv2.py 的文件?
我发现一个名为 cv2.so 的文件。事实上,我为得到opencv费了很大劲,我想我安装了它'太多次'。
我也遇到了同样的问题,花了3个小时来解决,最后,我发现我把正在工作的python文件本身命名为cv2.py。
python
opencv
Samuel
Samuel
发布于 2017-12-18
14 个回答
Satyam Annu
Satyam Annu
发布于 2020-10-29
已采纳
0 人赞同

可能是你安装的方式不对。在我的例子中,我也是错误地安装了OpenCV,所以我完全卸载了它,然后重新安装,这就使它工作了。

请注意卸载和安装的顺序。

pip uninstall opencv-python
pip uninstall opencv-contrib-python
pip install opencv-contrib-python
pip install opencv-python
    
KR1470R
KR1470R
发布于 2020-10-29
0 人赞同

我也有这个问题,我已经解决了,问题出在我把我的脚本命名为cv2.py,我只是把它重命名为别的东西。

Sold Out
Sold Out
发布于 2020-10-29
0 人赞同

读者的问题可能是,安装了一个错误的库(cv2包)。 例如,我安装了 opencv-python3 而不是 opencv-python

So in case you have PyCharm IDE, go to File->Settings->Project: *->Python Interpreter and see what you have listed there:

请确保你已经安装了opencv-python。 如果你也有其他类似的名字,应该是可以的--在我的例子中,它是有效的。

如果你卸载了其他的软件包(比如opencv-python3),很可能这个步骤会破坏你的依赖关系,你可能会再次得到这个错误。在这种情况下,只需卸载并重新安装opencv-python。
Dishant Arora
Dishant Arora
发布于 2020-10-29
0 人赞同

如果你把你的一个文件命名为'cv2.py',这可能会发生。所以当你'import cv2'时,系统会访问你的文件而不是实际的库。所以,试着把cv2.py重命名为其他名称,你的代码应该可以正常工作。

Péter Földházi
Péter Földházi
发布于 2020-10-29
0 人赞同

我也有同样的问题,结果这个问题得到了解决。

from cv2 import cv2
im_g=cv2.imread("smallgray.png", 0)
print(im_g)
    
Edvard Kniazev
Edvard Kniazev
发布于 2020-10-29
0 人赞同

Check:

brew list | grep opencv

如果没有安装,那就试试。

brew install opencv
    
Jawad
Jawad
发布于 2020-10-29
0 人赞同

it works with me:

pip安装opencv-python

pip安装opencv-contrib-python

source : https://pypi.org/project/opencv-python/

0 人赞同

Do cv2.cv2.imread()

这在大多数情况下应该是有效的。另外,请看一下 here .

我试过了,这就是我得到的结果。 --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-13-5eb2880672d2> in <module>() ----> 1 im_g = cv2.imread("smallgray.png", 0) AttributeError: module 'cv2' has no attribute 'imread' 。 我还尝试将 cv2.so (在/site packages/cv2/中)重命名为 cv2.py ,得到了同样的错误。
@Lotusam 试着再做一次安装
wilfredarin
wilfredarin
发布于 2020-10-29
0 人赞同

我也面临类似的问题,在Ubuntu上
我曾用命令的方式安装了open-cv。

sudo pip3 install opencv-python3

我卸载了opencv,By:

sudo pip3 uninstall opencv-python3

然后用以下代码重新安装了它。

pip3 install opencv-python
    
Pijush Barman
Pijush Barman
发布于 2020-10-29
0 人赞同

我也面临这个问题。
并通过改变当前的 cv2.py to cv.py (除了正在使用的包的名称外,你可以用任何你喜欢的名称)。
小小的解释

将当前工作文件的名称保存为 cv2.py , when we try to run the file it imports the current file with import cv2 声明,而不是实际 cv2 模块。这整个事情导致了这整个错误。

Công Đặng
Công Đặng
发布于 2020-10-29
0 人赞同

主要问题是你把你的文件或文件夹命名为 "cv2",这在Python中是不允许的。解决的方法是改变名称,然后你的代码就可以运行了

Jasurbek16
Jasurbek16
发布于 2020-10-29
0 人赞同

最近我的代码内出现了同样的问题,不知道发生了什么。尝试了不同的方法,如卸载 opencv-python

说到我正在处理的文件的命名,我绝对没有可能导致库的名称崩溃的问题。

我已经删除了 opencv-python ,清理了所有与软件包相关的缓存,然后重新安装了 opencv-python opencv-contrib-python 。现在,它工作得很好,我可以说,还没有出现任何问题。

P.S 我使用的是Arch Linux。如果你想知道如何清除缓存,可以试着看一下 this source .我希望这有帮助。继续学习和探索,谢谢!

ken
ken
发布于 2020-10-29
0 人赞同

我个人不得不卸载以前所有涉及opencv的安装。

pip uninstall opencv-python
pip uninstall opencv-contrib-python
pip uninstall opencv-contrib-python-headless

然后我把网站包中所有与opencv有关的文件也删除了。 卸载后,与opencv有关的文件如opencv_contrib_python-4.6.0.66.dist-info仍然存在并导致错误。

一旦所有这些文件被删除,我就重新安装了opencv。

pip install opencv-python

now it works for me

同时安装不同版本的opencv-python包(base+contrib vs. base)会发生冲突。 坏主意 .
Subhodeep
Subhodeep
发布于 2020-10-29
0 人赞同

也许你只是安装了 opencv-contrib-python 而不是 opencv-python

Try this out, it worked for me-

  • First uninstall:
  • pip uninstall opencv-python
    pip uninstall opencv-contrib-python
    
  • then install:
  •