使用PyCharm的Python和OpenCV- 'opencv'模块中没有'imread'属性

3

有一个类似于我的问题,但它并没有回答我的问题。

这是我正在使用的工具:

Python v. 3.6.2
opencv 1.0.1
PyCharm Community Edition 2017 .2.2
macOS Sierra Version 10.12.6

我正在尝试使用imread进行图像处理。我已经查看了文档,并且正在正确使用该函数。以下是随opencv库提供的测试代码:

import opencv
img = cv.imread('background.png')
if img is None:
    print("Image not loaded!")
else:
    print("Image is loaded!")

我可以在项目资源管理器中看到我的Python文件和模块。当我运行代码时,出现以下错误:
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /Users/lmc/Desktop/pywerk/opencvpractice Traceback (most recent call last): File "/Users/lmc/Desktop/pywerk/opencvpractice", line 4, in img = cv.imread('background.png') AttributeError: 模块'opencv'没有'imread'属性 我尝试过重新安装Python和OpenCV模块,甚至切换到2.7版本的Python(并使用相应的OpenCV模块),但仍然出现同样的错误。
是否有某些系统配置可能被遗漏了?任何帮助都将不胜感激。

3
你为什么使用已经不推荐使用的OpenCV 1.x,而不是使用带有cv2模块的OpenCV 2.x或3.x呢?cv2模块使用numpy后端来存储图像数据,因此在处理数据时更加优越。无论如何,下面的答案应该能解决你的问题;你正在导入opencv但是在使用未定义的命名空间cv - alkasm
1
OpenCV 1.0.1?从未发布过这个版本,即使发布了,也早于Python 3.0约2年。看起来像是一些无意义的东西...也许是包索引中的这个垃圾 - Dan Mašek
3个回答

1
也许你应该尝试使用opencv.imread
import opencv
img = opencv.imread('background.png')
if img is None:
    print("Image not loaded!")
else:
    print("Image is loaded!")

或者另一种方式是import opencv as cv
import opencv as cv
img = cv.imread('background.png')
if img is None:
    print("Image not loaded!")
else:
    print("Image is loaded!")

1
对于OpenCV,应该导入为:

import cv

或者import cv2(如果您想更改为opencv V2.x或3.x)


1
事实证明这是几个建议的结合体;如果我能把答案归功于Alexander Reynolds那将是最准确的。我遵循了一个过时的教程,最终得到了一个过时的opencv版本。我使用这里的指令下载了opencv,供其他需要的人参考:

https://pypi.python.org/pypi/opencv-python/3.1.0.3

这是我最终得到的内容:
import cv2

img = cv2.imread('background.png')
if img is None:
    print("Image not loaded!")
else:
    print("Image is loaded!")

感谢帮助!

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