今天我将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
>>>
据我所知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@-:~#
我的设置步骤如下
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
cv2.so在哪里?为什么错过了?
答案 0 :(得分:46)
如何在Linux中使用python绑定安装opencv(cv2) - Ubuntu / Fedora
安装gcc,g ++ / gcc-c ++,cmake(apt-get或yum,如果是yum 使用gcc-c ++)
apt-get install gcc, g++, cmake
用
解开tar -xvf opencv-*
在untarred文件夹中创建一个名为release
mkdir release
cd release
(或任何文件夹名称)并在其中运行此命令
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON ..
..
将从父文件夹中提取文件,并为系统做好准备
在您的平台上安装。
在发布文件夹中运行
make
完成运行后约2-3分钟的制作处理
sudo make install
导出python路径
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
就是这样,现在去python并尝试
>>> import cv2
你不应该收到任何错误信息。
在python 2.7上测试,应该与python 3.x几乎相似。
答案 1 :(得分:11)
我在Ubuntu 14.04中安装python-opencv
来解决我的问题
sh
sudo apt-get install python-opencv
答案 2 :(得分:5)
在rasberry pi上使用raspbian,我遇到了无法找到模块的问题。我有三个版本的python(2.6,2.7和3.2),请确保你使用的是python2.7。您可以通过运行来检查:
python --version
我发现根据我的情况,我只需要安装python-dev。
sudo apt-get install python-dev
我没有删除并重新安装opencv,我努力避免这种情况,因为我知道完成这个过程需要几个小时。
安装python-dev之后我去了我构建opencv的文件,对我来说是“〜/ opencv-2.4.9 / release”,并告诉它要做
sudo make
在此之后我能够找到cv2.so文件。用以下方法搜索:
find / -name "cv2.so"
此时我发现了一些文件。 接下来,我只运行python,看它是否能找到“导入”它们
python
>>> import cv2
不应出现任何错误。
>>> import numpy
我听说opencv运行需要numpy。 从那里我相信如果没有错误,你应该很好地运行你的脚本。我希望这有帮助。
列出了帮助我的页面......
答案 3 :(得分:3)
当我在OSX El Capitan上使用CMAKE手动配置时,我遇到了类似的问题。我给了这个额外的选项:
PYTHON2_PACKAGES_PATH='lib/python2.7/site-packages'
阻止了该软件包中的cv2.so安装。我删除后似乎在我的构建文件夹中正确安装:
PYTHON2_EXECUTABLE='/usr/bin/python2.7'
PYTHON2_INCLUDE_DIR='/usr/include/python2.7'
PYTHON2_LIBRARY='/usr/lib/libpython2.7.dylib' # TODO - Fix for linux
PYTHON2_NUMPY_INCLUDE_DIRS='/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include' # Todo - Fix for linux
cd $OPENCV_DIR
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=$OPENCV_INSTALL_PATH \
-D WITH_CUDA=OFF \
-D BUILD_opencv_python2:BOOL=ON \
-D PYTHON2_EXECUTABLE=$PYTHON2_EXECUTABLE \
-D PYTHON2_INCLUDE_DIR=$PYTHON2_INCLUDE_DIR \
-D PYTHON2_LIBRARY=$PYTHON2_LIBRARY \
-D PYTHON2_NUMPY_INCLUDE_DIRS=$PYTHON2_NUMPY_INCLUDE_DIRS \
-D INSTALL_PYTHON_EXAMPLES:BOOL=ON \
..
make -j8
make install
答案 4 :(得分:2)
我在OS X El Capitan中遇到此问题。
我按照this tutorial中提到的说明操作。没有成功运行安装,并且在所需文件夹mentioned和python
提示符下丢失cv2.so文件时出现上述错误。
最后认为使用虚拟python设置导致了麻烦。所以卸载了
pip install virtualenv virtualenvwrapper
然后跑
brew link opencv
引发了错误。
然后按照以下步骤解决问题。
首次运行
brew link opencv
如果出错,请尝试自动诊断
brew doctor
brew doctor
列出了可能导致安装过程出错的问题列表。
要解决文件冲突时的问题, 运行以通过覆盖获取将执行的所有操作的列表,而不实际执行它们。
列出所有要删除的文件:
brew link --overwrite --dry-run opencv
然后执行覆盖执行覆盖,假设您认为覆盖执行的操作会使您的系统处于更强稳定状态。
强制链接并覆盖所有冲突的文件:
brew link --overwrite opencv
This tutorial是一种更简单的选择。
答案 5 :(得分:2)
以上所有答案对我不起作用,然而,经过一整天的努力,我终于解决了这个问题。
要拥有cv2.so,我们需要:
- 至少安装 python 2或3 。人们为什么说:
sudo apt-get install python-dev
。但是没必要,在我的情况下,我使用 anaconda python 。 (有很多方法可以安装python)- numpy 也是必须的。所以,无论你使用什么python,只要确保你已下载它。就我而言,我使用 anaconda numpy 。 (anaconda已经安装了它,对于普通的python,使用
醇>pip install numpy
)
告诉camke路径在哪里,只需以我的命令为例:
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \
-D PYTHON2_EXECUTABLE='/home/parallels/anaconda2/bin/python' \
-D PYTHON2_LIBRARY='/home/parallels/anaconda2/lib/python2.7' \
-D PYTHON2_NUMPY_INCLUDE_DIRS='/home/parallels/anaconda2/lib/python2.7/site-packages/numpy/core/include' \
-D BUILD_EXAMPLES=ON ..
对于python3,你应该(我正在使用anaconda python,所以我把所有内容都链接到了anaconda):
cmake -D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.3.1/modules \
-D PYTHON3_EXECUTABLE='/home/test/SoftWare/anaconda3/bin/python3.6m' \
-D PYTHON_INCLUDE_DIR='/home/test/SoftWare/anaconda3/include/python3.6m' \
-D PYTHON3_LIBRARY='/home/test/SoftWare/anaconda3/lib/libpython3.6m.so' \
-D PYTHON3_NUMPY_INCLUDE_DIRS='/home/test/SoftWare/anaconda3/lib/python3.6/site-packages/numpy/core/include' \
-D PYTHON3_PACKAGES_PATH='/home/test/SoftWare/anaconda3/lib/python3.6/site-packages' ..
要记住的一件事 !!!在你输入cmake之前... 1。清理你的构建文件夹, 2。 只有一次!否则你无法改变** PYTHON3_LIBRARY:不** ......(这是我认为的错误)
我知道可能会有一些无用的论点,但我很想尝试清理它们。 以下是我的cmake打印信息的屏幕截图。 screenshot of my cmake info
你可以清楚地看到,只有python2可以生成cv2.so. python3不行! (无法生成Python3包装器。)
答案 6 :(得分:1)
以上都不适合我;我在Ubuntu 16.04的ec2实例&amp;安装了anaconda所以我刚刚使用了
我的conda2和3次安装 jQuery(document).ready(function () {
$('#bookingform-startdate').datepicker($.extend({}, $.datepicker.regional['fr'], {"maxViewMode":2,"todayBtn":"linked","daysOfWeekDisabled":"0,1","autoclose":true,"onSelect":function(dateText, inst) { alert("Hi"); },"dateFormat":"d M yy"}));
$('#bookingform-stopdate').datepicker($.extend({}, $.datepicker.regional['fr'], {"maxViewMode":2,"todayBtn":"linked","daysOfWeekDisabled":"0,1","autoclose":true,"onSelect":"alert(\u0022Hi\u0022)","dateFormat":"d M yy"}));
});
答案 7 :(得分:0)
我遇到过类似的问题。在深入研究这一点之后,我遇到了一个帖子,其中提到需要python-numpy
包。所以,我通过在build文件夹(在你的case release文件夹中)运行以下命令来卸载opencv:
dpkg -r build
然后我删除了所有opencv文件。我使用以下命令安装了python-numpy
和python-dev
:
sudo apt-get install python-dev python-numpy
然后,在重新运行安装脚本后,python控制台中的import cv2
命令不会给我任何错误并且已正确导入。
答案 8 :(得分:0)
就我而言,cmake
是一个问题:
sudo apt install software-properties-common
sudo add-apt-repository ppa:george-edison55/cmake-3.x
sudo apt update
如果尚未安装cmake
:
sudo apt install cmake
如果已安装cmake
:
sudo apt upgrade
有关详细信息,请参阅this link。