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

7

我在SO上已经找到了一些问题,但是使用那里的答案无法解决这个问题。

我是Python新手,我的Ubuntu 12.04中带有Python。在我的/usr/local/lib目录下,有两个Python文件夹python 2.7python 3.2python 2.7包含dist-packages和site-packages,而python 3.2只包含dist-packages。

我正在尝试运行一个非常简单的OpenCV示例,代码如下:

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('image.JPG')

kernel = np.ones((5,5),np.float32)/25
dst = cv2.filter2D(img,-1,kernel)

plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(dst),plt.title('Averaging')
plt.xticks([]), plt.yticks([])
plt.show()

错误: 没有找到cv2模块


哦,我刚刚检查了一下,我使用终端通过“pyhton camera.py”运行了这两个程序,它们可以正常工作,但是如果我使用“SPE Stani's python editor”运行这些程序...它们也会出现关于“import cv2”的错误。 - skm
然后找到cv2.so所在的位置。在SPE中添加路径。甚至将cv2.so复制到dist_packages中也应该可以,我想。 - Abid Rahman K
1
导入cv2库并打印出其文件路径。例如,我的系统中得到的路径为/usr/local/lib/python2.7/site-packages/cv2.so - Abid Rahman K
1
尝试这样做:import syssys.path.append('/opt/ros/hydro/lib/python2.7/dist-packages')import cv2print cv2.__version__ - Abid Rahman K
1
在SPE中,将import sysprint sys.path输入以查看系统路径。如果您的cv2.so文件夹不在列表中,请尝试将其复制到该列表中的任何一个目录中。 - Abid Rahman K
显示剩余22条评论
3个回答

5

NB:本答案是以上评论的简要总结。如需更多细节,请参阅问题下方的评论。

背景: OP正在使用SPE Stani's python editor。OP已经安装了OpenCV/opt/ros/hydro/lib/python2.7/dist-packages,但该编辑器未能检测到。将此路径添加到PYTHONPATH也无法解决此问题。

解决方案(以下任一):

  1. 将此路径添加到sys.path并将其放入每个文件中。

import sys sys.path.append('/opt/ros/hydro/lib/python2.7/dist-packages')

  1. cv2.so文件复制到sys.path中的任何目录中。

0

我能够通过以下步骤解决在我的Win 64机器上无法加载cv2 dll的问题。

  1. gohlke网站下载Python扩展包的非官方Windows二进制文件。
  2. 在我的情况下,是opencv_python-3.2.0-cp35-cp35m-win_amd64.whl,将其下载到某个文件夹中,例如c:\ py \ lib
  3. 使用以下命令安装此.whl

    pip install c:\py\lib\opencv_python-3.2.0-cp35-cp35m-win_amd64.whl

  4. 重新启动内核,错误消失了。

0

我曾经遇到过这个问题,我通过以下方式解决了它:

  1. 找到存储openCV库的位置(我是通过我的IDE完成的)。
  2. 删除它。
  3. 在我的IDE终端上再次使用“pip install opencv-python”命令进行安装。
  4. 正常导入。

希望这也能解决其他人的问题!


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