2016-08-05 209 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