2016-08-05 16 views
16

Jak zainstalować OpenCV z anaconda python3, OpenCV odebrał moje pliki wykonywalne python3Instalowanie opencv 3.1 z anaconda python3?

-- 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 

zainstalowaniu OpenCV z następujących opcji uczynić

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" .. 

Ale po zainstalowaniu go nie mogę importować CV2 zasięgu python3 of anaconda. Mogę jednak zaimportować cv2 z wbudowanego polecenia python2. Tak więc przypuszczam, że jest on zbudowany dla wersji python2, jak podano w ostatnim wierszu.

Jak zbudować dla anakonda python3?

Odpowiedz

29

myślę, że nie trzeba budować OpenCV dla anakondy, jest to bardzo przydatne narzędzie o nazwie „Conda”, który jest dostępny w terminalu po zainstalowaniu rozkład pyton Anaconda.

znalazłem tę stronę, która daje Instrukcja jak zainstalować opencv3

https://anaconda.org/menpo/opencv3 

Ja osobiście zainstalowałem go sobie tak po prostu spróbować podążać wraz z tymi instrukcjami.

Jeśli zainstalowano rozkład Anaconda python w systemie, można wydać polecenie (zakładając, że pracujesz na Linuksie) odpalić terminal:

conda install -c menpo opencv 

Jeśli wersja Pythona zainstalować w Anaconda 2.7, powyższa komenda powinna zainstalować OpenCV 3.1, ale jeśli wersja twojego pytona wynosi 3,5, to należy zmienić „OpenCV” w ostatniej kolejce „opencv3”

conda install -c menpo opencv3 

to powinno zainstalować OpenCV w Anaconda . Aby sprawdzić, czy masz zainstalowany pomyślnie, odpalić swój Python i wydać następujące polecenie:

import cv2 # import the opencv library 

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

nadzieję, że pomoże =)

+0

Czy to zainstalować z obsługą CUDA? –

+0

Myślę, że wsparcie dla cuda jest już w OpenCV. Znalazłem ten link, który mówi coś o module Cuda w OpenCV. Możesz to sprawdzić. Oto link: http://docs.opencv.org/3.1.0/d2/dbc/cuda_intro.html – srf

+1

Brak dwukropka w adresie URL dla opencv3 – Daniyar

9

Spróbuj tej metody pracował dla mnie. Anaconda3-4

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

Jeśli otrzymujesz komunikat o błędzie podobny do poniższego:

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. 

wystarczy zainstalować Pythona 3.5 i spróbuj ponownie.

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

Żadna z powyższych metod nie sprawdziła się u mnie. Uważam jednak, że ta wkładka działa dla mnie:

conda install -c conda-forge opencv 
0

Jeśli chcesz skompilować OpenCV przeciwko określonym środowisku Anaconda, można określić PYTHON_EXECUTABLE, PYTHON_INCLUDE i PYTHON_LIBRARY, PYTHON_PACKAGES_PATH, PYTHON_NUMPY_INCLUDE_DIR zmiennych cmake.

W poniższym przykładzie mam środowisko opencv340 Anaconda znajdujący się w katalogu/home/sam/anaconda3/envs/opencv340 i tak będę specifiy powyższe zmienne dla cmake następująco:

-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 

Będziesz następnie zobacz, że opencv wybiera poprawny python, ten w środowisku anakonda, któremu podałeś ścieżkę.

Następnie należy skopiować plik cv2 * .so z katalogu budowy opencv do swojego środowiska anakondy.

Twój katalog site-packages powinien znajdować się gdzieś jak:

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

można uzyskać rzeczywistą lokalizację z pytona konsola z:

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

wówczas (odpowiednio przystosować do sprawy i CV2 * .so rzeczywistego nazwa):

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/.

Powinieneś być w stanie import cv2 z konsoli python.

Właśnie to zrobiłem (ubuntu 16.04).

0

Z Conda v4.3.16 i Python v3.6 to polecenie pracował dla mnie:

conda install -c anaconda opencv