我已经在树莓派的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的文件夹,以防相关。

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


当前回答

我在安装cv2时遇到过同样的问题

pip install cv2

然而,当我导入cv2模块时,它显示没有名为cv2的模块错误。 然后我找到了cv2。Pyd文件在我的电脑上,我复制并粘贴到site-packages目录

C:\Python27\Lib\site-packages

然后我关闭并重新打开现有的应用程序,它工作。

编辑 我将告诉如何正确安装cv2。

1. 首先在你的电脑上安装numpy

pip install numpy

2. 从互联网下载opencv(大约266 mb)。 我下载了python 2.7的opencv-2.4.12.exe。然后安装这个opencv-2.4.12.exe文件。 我解压缩到C:\Users\harun\Downloads到这个文件夹。 安装后,在文件夹中查找cv2.py。对我来说

C:\Users\harun\Downloads\opencv\build\python\2.7\x64

在这个文件夹中取thecv2。并将其复制到

C:\Python27\Lib\site-packages

现在你可以在你的python脚本中使用cv2。

其他回答

创建一个虚拟环境,然后在其中安装open-cv。 这对我很管用。而且,创建虚拟环境是最佳实践。 创建虚拟环境:

python3 -m venv env

激活虚拟环境 Linux:

source env/bin/activate

现在安装OpenCV和其他模块。

pip3 install opencv-python

以上将适用于linux。 类似地,您可以为windows创建虚拟环境,然后安装opencv 更多关于虚拟环境:

https://docs.python.org/3/library/venv.html https://www.geeksforgeeks.org/creating-python-virtual-environment-windows-linux/

我知道你在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

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

上面的答案对我都没用。我快疯了,直到我发现下面这个解决方案!

简单地运行:

sudo apt install python-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目录。如果您不想向代码中添加任何东西,这是一种变通方法。

这是为那些使用ubuntu运行script.py的人准备的 你必须复制cv2。在你的pythonpachages目录下,然后是resourcing你的bachrc。 在这里:

sudo cp -rfv /home/<user>/<your opencv file dir>/lib/cv2.so  /usr/local/lib/python2.7/site-packages/
export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH