安装opencv后为什么缺少cv2.so?

Ale*_*lex 21 opencv

今天我将opencv 2.4.4安装到Ubuntu 12.10

但导入cv2不起作用.

root@-:~# python
Python 2.7.3 (default, Sep 26 2012, 21:53:58) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named cv2
>>> 
Run Code Online (Sandbox Code Playgroud)

据我所知cv2.so错过了,所以python没有看到opencv在哪里

root@-:~# find / -name "cv.py"
/root/opencv-2.4.4/modules/python/src2/cv.py
root@-:~# find / -name "cv2.so"
root@-:~#
Run Code Online (Sandbox Code Playgroud)

我的设置步骤看起来像

wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.4/OpenCV-2.4.4a.tar.bz2
tar -xjf OpenCV-2.4.4a.tar.bz2
cd opencv-2.4.4
mkdir release
cd release 
cmake -D CMAKE_BUILD_TYPE=RELEASE   -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..
make && make install
echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf
ldconfig  
echo "PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig" >> /etc/bash.bashrc
echo "export PKG_CONFIG_PATH" >> /etc/bash.bashrc
Run Code Online (Sandbox Code Playgroud)

cv2.so在哪里?为什么错过了?

Waq*_*qas 46

如何在Linux中安装带有python绑定的opencv(cv2) - Ubuntu/Fedora

  1. 安装gcc,g ++/gcc-c ++,cmake(apt-get或yum,如果yum使用gcc-c ++)

    apt-get install gcc, g++, cmake
    
    Run Code Online (Sandbox Code Playgroud)
  2. openCV的网站下载最新的opencv

  3. 解开它

    tar -xvf opencv-*
    
    Run Code Online (Sandbox Code Playgroud)
  4. 在untarred文件夹中,创建一个名为的新文件夹 release

    mkdir release
    cd release
    
    Run Code Online (Sandbox Code Playgroud)

    (或任何文件夹名称)并在其中运行此命令

    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON ..
    
    Run Code Online (Sandbox Code Playgroud)

    ..将其拉离父母文件夹中的文件,并会得到系统准备安装你的平台上.

  5. 在release文件夹中运行

    make
    
    Run Code Online (Sandbox Code Playgroud)
  6. 完成运行后约2-3分钟制作处理

    sudo make install
    
    Run Code Online (Sandbox Code Playgroud)
  7. 导出python路径

    export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
    
    Run Code Online (Sandbox Code Playgroud)

就是这样,现在去python试试吧

>>> import cv2
Run Code Online (Sandbox Code Playgroud)

你不应该收到任何错误信息.

在python 2.7上测试,应该与python 3.x几乎相似.

  • 这在Mac OSX,Python 2.7上对我不起作用.我在任何阶段都没有看到错误,但仍然无法>>>导入cv2 (3认同)
  • 还要确保安装了python开发头文件(sudo apt-get install python-dev). (2认同)
  • 你需要导出安装Python库的路径,比如导出PYTHONPATH =〜/ projects/opencv/release/lib:$ PYTHONPATH (2认同)

小智 11

我安装python-opencv解决我在Ubuntu 14.04中的问题 sh sudo apt-get install python-opencv


小智 5

在rasberry pi上使用raspbian,我遇到了模块无法找到的问题.我有三个版本的python(2.6,2.7和3.2),请确保你使用的是python2.7.您可以通过运行来检查:

python --version
Run Code Online (Sandbox Code Playgroud)

我发现,对于我的情况,我只需要安装python-dev.

sudo apt-get install python-dev
Run Code Online (Sandbox Code Playgroud)

我没有删除并重新安装opencv,我尽力避免这种情况,因为我知道完成这个过程需要几个小时.

安装python-dev之后我去了我构建opencv的文件,对我来说是"〜/ opencv-2.4.9/release",并告诉它要制作

sudo make
Run Code Online (Sandbox Code Playgroud)

在此之后,我能够找到cv2.so文件.搜索它:

find / -name "cv2.so"
Run Code Online (Sandbox Code Playgroud)

此时我发现了一些文件.接下来,我只运行python,看它是否能找到"导入"它们

python 
>>> import cv2
Run Code Online (Sandbox Code Playgroud)

不应该出现任何错误.

>>> import numpy
Run Code Online (Sandbox Code Playgroud)

我听说opencv运行需要numpy.从那里我相信如果没有错误,你应该很好地运行你的脚本.我希望这有帮助.

帮助我的页面列出了......

http://opencv-users.1802565.n2.nabble.com/I-can-t-find-cv-so-and-cv2-so-after-compiling-td6671937.html