小能豆

使用 OpenCV 时找不到模块 cv2

javascript

我使用jayrambhia 编写的脚本在 Raspberry Pi 上的 Occidentalis 操作系统(Raspbian 的一个变体)上安装了OpenCV 。它安装了版本 2.4.5。

当我尝试import cv2Python 程序时,收到以下消息:

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.so存储在/usr/local/lib/python2.7/site-packages/...

如果相关的话,还有/usr/local/lib名为python3.2和的文件夹。python2.6

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


阅读 48

收藏
2024-07-27

共1个答案

小能豆

您遇到的错误表明 Python 无法找到 OpenCV 库 ( cv2)。这可能是由于PYTHONPATH环境变量配置错误或 OpenCV 安装目录未包含在 Python 的搜索路径中。

您可以按照以下步骤解决此问题:

1.验证安装路径

首先,确保cv2.so文件位于正确的目录中。您提到它在 中/usr/local/lib/python2.7/site-packages/。通过列出目录的内容来验证这一点:

什
复制代码
ls /usr/local/lib/python2.7/site-packages/

您应该会看到cv2.so列出的文件。

2.更新 PYTHONPATH

如果文件位置正确,则需要确保该目录包含在 Python 的PYTHONPATH.cPYTHONPATH环境变量中

您可以将以下几行添加到您的.bashrc.profilef中PYTHONPATH

什
复制代码
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages/

添加此行后,重新加载您的.bashrc或“.prof.profile文件:

什复制代码source ~/.bashrc
# or

sourc
source ~/.profile

3. 验证 Python Ve

确保您使用的是正确的

run

python --version

cv2.so确保它与 OpenCV ( )的版本相匹配

4. Cre

如果上述步骤不起作用,您可以创建从 OpenCV 安装目录到 Python 搜索路径中已有目录之一的符号链接。例如:

sudo ln -s /usr/local/lib/python2.7/site-packages/cv2.so /usr/lib/python2.7/dist-packages/cv2.so

此命令在目录中创建一个符号链接/usr/lib/python2.7/dist-packages/,该目录通常包含在 Python 的默认搜索路径中。

5.重新安装OpenCV

如果上述步骤均无效,您可能需要重新安装 OpenCV 以确保其正确安装。您可以使用以下脚本在 Raspberry Pi 上重新安装 OpenCV:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk2.0-dev libatlas-base-dev gfortran
sudo apt-get install python2.7-dev python3-dev

cd ~
wget -O opencv.zip https://github.com/opencv/opencv/archive/2.4.5.zip
unzip opencv.zip
cd opencv-2.4.5
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j4
sudo make install
sudo ldconfig

重新安装后,重复步骤 1 和 2,以确保一切设置正确。

通过遵循这些步骤,您应该能够解决ImportError: No module named cv2问题并成功地在您的 Python 程序中导入 OpenCV。

2024-07-27