2016-08-05 161 views
16

如何安装与蟒蛇python3的OpenCV,OpenCV的拿起我的python3可执行用anaconda python3安装opencv 3.1?

-- Python 2: 
--  Interpreter:     /usr/bin/python2.7 (ver 2.7.12) 
--  Libraries:     /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.12) 
--  numpy:      /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.11.0) 
--  packages path:    lib/python2.7/dist-packages 
-- 
-- Python 3: 
--  Interpreter:     /home/tamim/anaconda3/bin/python3 (ver 3.5.2) 
--  Libraries:     /usr/lib/x86_64-linux-gnu/libpython3.5m.so (ver 3.5.2) 
--  numpy:      /home/tamim/anaconda3/lib/python3.5/site-packages/numpy/core/include (ver 1.11.1) 
--  packages path:    lib/python3.5/site-packages 
-- 
-- Python (for build):   /usr/bin/python2.7 

我安装了OpenCV的下列选项做出

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D CUDA_NVCC_FLAGS="-D_FORCE_INLINES" .. 

但安装后我无法在导入CV2 python3 anaconda。但是我可以从内置的python2命令中导入cv2。所以我想它是为最后一行所述的python2版本构建的。

我该如何构建anaconda python3?

回答

29

我觉得你并不需要建立蟒蛇OpenCV的,有这非常方便 工具,称为“康达”这是在你的终端可一旦你已经安装了 蟒蛇蟒蛇分布。

我发现这个网站它可提供关于如何安装opencv3

https://anaconda.org/menpo/opencv3 

我个人安装了它自己,所以只是尝试使用这些指令请跟随指令。

如果你已经安装在你的系统中的蟒蛇蟒蛇分布,就可以发出此命令(假设您正在使用的Linux)火了终端:

conda install -c menpo opencv 

如果蟒蛇的版本在你的蟒蛇安装是2.7,上面的命令应该安装OpenCV 3.1,但如果你的Python的版本是3.5,那么你应该在最后一行更改“的OpenCV”到“opencv3”

conda install -c menpo opencv3 

这应该在你的蟒蛇安装OpenCV 。要看到,如果你已经成功安装,启动你的Python和发出以下命令:

import cv2 # import the opencv library 

cv2.__version__ # this will print the version of your opencv3 

希望帮助=)

+0

这是否与安装支持CUDA? –

+0

我认为cuda的支持已经在OpenCV中。我发现这个链接提到了OpenCV中的Cuda模块。你可能想检查一下。这里是链接: http://docs.opencv.org/3.1.0/d2/dbc/cuda_intro.html – srf

+1

在URL中缺少冒号的opencv3 – Daniyar

9

试试这个方法,它为我工作。 Anaconda3-4

conda create -n opencv 
activate opencv 
conda install -c https://conda.binstar.org/menpo opencv3 
18

如果您收到类似如下的错误:

UnsatisfiableError: The following specifications were found to be in conflict: 
      opencv 2.4.11* -> numpy 1.9* -> python 2.6* -> openssl 1.0.1* 
      python 3.6* 
      Use "conda info " to see the dependencies for each package. 

只需安装python 3.5,然后再试一次。

conda install python=3.5 
conda install -c menpo opencv # whichever 
conda install -c menpo opencv3 # you need 
7

上述方法都不适用于我。然而,我发现,这一个班轮工作对我来说:

conda install -c conda-forge opencv 
0

如果你想编译OpenCV的针对特定蟒蛇的环境,你可以在cmake指定PYTHON_EXECUTABLE, PYTHON_INCLUDEPYTHON_LIBRARY, PYTHON_PACKAGES_PATH, PYTHON_NUMPY_INCLUDE_DIR变量。

在下面的例子中,我有坐落在一个opencv340蟒蛇环境/家/你自己/ anaconda3/ENVS/opencv340,所以我会specifiy上述变量cmake如下:

-DPYTHON_EXECUTABLE=/home/yourself/anaconda3/envs/opencv340/bin/python3 \ 
-DPYTHON_INCLUDE=/home/yourself/anaconda3/envs/opencv340/include \ 
-DPYTHON_LIBRARY=/home/yourself/anaconda3/envs/opencv340/lib/libpython3.6m.so \ 
-DPYTHON_PACKAGES_PATH=/home/yourself/anaconda3/envs/opencv340/lib/python3.6/site-packages \ 
-DPYTHON_NUMPY_INCLUDE_DIR=/home/yourself/anaconda3/envs/opencv340/lib/python3.6/site-packages/core/include 

你然后看到opencv选择了正确的python,这是你在其中提供路径的anaconda环境中的一个。

然后,您将cv2 * .so从您的opencv build目录复制到您的anaconda环境的site-packages

site-packages目录应位于地方,比如:

/home/yourself/anaconda3/envs/opencv340/lib/python3.6/site-packages

您可以从一个python获得的实际位置控制台:

>>> import sys 
>>> print(next(p for p in sys.path if 'site-packages' in p)) 

然后(相应地适应你的情况和CV2 *。所以实际名称):

cp /path/to/your/opencv/build/directory/lib/python3.6/site-packages/cv2.cpython-36m-x86_64-linux-gnu.so /home/yourself/anaconda3/envs/opencv340/lib/python3.6/site-packages/.

你应该可以从python控制台登录到import cv2

我刚刚这样做(Ubuntu的16.04)。

0

随着畅达v4.3.16和Python V3.6此命令为我工作:

conda install -c anaconda opencv