我已经在树莓派的Occidentalis操作系统(Raspbian的变体)上安装了OpenCV,使用的脚本是jayrambhia编写的。它安装了2.4.5版本。

当我尝试在Python程序中导入cv2时,我得到了以下消息:

pi@raspberrypi~$ python cam.py
Traceback (most recent call last)
File "cam.py", line 1, in <module>
    import cv2
ImportError: No module named cv2

文件cv2。因此存储在/usr/local/lib/python2.7/site-packages/…

在/usr/local/lib中还有称为python3.2和python2.6的文件夹,以防相关。

我该如何解决这个问题?这是由路径配置错误引起的吗?


当前回答

我通过运行代码pip install opencv_contrib_python来解决这个问题

其他回答

我用下面的命令解决了我的问题:

conda install opencv

当python无法引用您的默认site-packages文件夹时,就会发生这种情况,该文件夹中保存了所需的python文件或库

在代码中添加这些行:

import sys

sys.path.append('/usr/local/lib/python2.7/site-packages')

或者在bash中运行python命令之前,移动到/usr/local/lib/python2.7/site-packages目录。如果您不想向代码中添加任何东西,这是一种变通方法。

首先在Terminal/CMD中运行这些命令:

conda update anaconda-navigator  
conda update navigator-updater  

然后下面指令的问题将得到解决

对于windows,如果你安装了蟒蛇,你可以简单地做

pip install opencv-python

or

conda install -c https://conda.binstar.org/menpo opencv

如果你在Linux上,你可以这样做:

pip install opencv-python

or

conda install opencv 

Link1 Link2

对于python3.5+,检查这些链接:Link3, Link4

更新: 如果你使用anaconda,你也可以简单地使用这个(因此不需要添加menpo通道):

conda install -c conda-forge opencv

我也遇到了同样的问题,只是在opencv2和opencv3分别安装到/opt/opencv和opencv3时无法解决这个问题。原来,血淋淋的anaconda安装的opencv在我的主目录是第一个路径和破坏opencv。删除它,并开始使用/etc/ld.so.conf.d/opencv.conf中定义的/opt/opencv3/lib。第一次工作很完美。你有安装蟒蛇吗?可能就是问题所在。

我知道你在Occidentalis上有问题,但我在Windows上也有问题,而且我没有发现任何有用的东西。所以如果你有窗口,并且你已经安装了opencv,但是你仍然得到一个导入错误,这个方法可能会解决这个问题。

我设法解决了这个问题,重新激活了水蟒。

首先,我从path中删除了你的\path\to\anaconda3和你的\path\to\anaconda3脚本(你以后会需要这些,所以记住这些路径)

然后如果你从cmd运行python,它会说:

Warning:
This Python interpreter is in a conda environment, but the environment has
not been activated. Libraries may fail to load. To activate this environment
please see https://conda.io/activation.

然后在Anaconda提示符中运行这些:

your\path\to\anconda3\Scripts\activate base 
conda activate --stack your\path\to\anaconda3

我不确定这是否是让水蟒重新活跃起来的最简单的方法,但这对我来说是有效的。