导入错误:没有名为cv2的模块。

14
import numpy as np

import cv2
from matplotlib import pyplot as plt

img = cv2.imread('1.jpg',0)

orb = cv2.ORB()

kp = orb.detect(img,None)

kp, des = orb.compute(img, kp)


img2 = cv2.drawKeypoints(img,kp,color=(0,255,0), flags=0)
plt.imshow(img2),plt.show()

我在Windows操作系统中安装了numpy和opencv,但是我找不到添加cv2模块的正确方法。


1
@jlnabais提到在Windows上安装OpenCV,而不是Ubuntu,因此如果这是一个重复的问题,那也不是那个。 - WhiteViking
你是如何精确地安装OpenCV的?是从二进制文件还是源代码安装的?你是否遵循了这些安装说明 https://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_setup/py_setup_in_windows/py_setup_in_windows.html#install-opencv-python-in-windows ? - WhiteViking
在Windows上,通常值得尝试从Gohlke的优秀网站http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv安装预构建的wheels。我想这就是我在Windows上安装OpenCV的方法(因为我已经很久没有安装它了,所以抱歉我无法回忆起详细信息)。 - J Richard Snape
请使用Gohlke分发的预构建Windows软件包(http://www.lfd.uci.edu/~gohlke/pythonlibs/)。我刚在Windows上进行了干净的Python 3.5安装,并从该存储库中安装了numpy,matplotlib和OpenCV。它可以直接使用,没有像您遇到的那样出现模块错误。请注意,您可能正在尝试根据旧版本的open CV API编写代码。特别是-您可能需要使用cv.ORB_create()而不是cv.ORB()(请参见我的答案)并且您可能需要其他参数来使用drawKeypoints()函数。 - J Richard Snape
2个回答

17

最快、最干净的方式是运行pip。它是Python软件包的一个干净便利的工具。

只需运行:

pip install opencv-pythonC:\Python27\Scripts\pip.exe install opencv-python


1
在Windows上安装OpenCV的最简单方法是将cv2.pyd文件复制到Python的site-packages目录中(例如,C:\python27\Lib\site-packages)。
要获取cv2.pyd文件,请从http://sourceforge.net/projects/opencvlibrary/files/opencv-win/下载并提取最新版本的OpenCV安装可执行文件,并浏览提取的文件夹以在相关的build目录(例如,build\python\x86\2.7)中找到该文件。

1
我还将cv2.pyd文件复制到了site-packages目录下,但现在出现了一个新的错误。 "ImportError: DLL load failed: The specified module could not be found." @figs - Shatil Haque
这可能与其他事情有关,例如导入numpymatplotlib。尝试一个更简单的脚本,只导入cv2。还可以查看这个相关的答案:https://dev59.com/TmEh5IYBdhLWcg3wnEgc - 101

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