Installing opencv 3.1 with anaconda python3?

后端 未结 7 1142
温柔的废话
温柔的废话 2020-12-01 03:54

How do I install opencv with anaconda python3 , opencv picked up my python3 executables

--   Python 2:
--     Interpreter:                 /usr/bin/python2.7         


        
7条回答
  •  佛祖请我去吃肉
    2020-12-01 04:17

    If you want to compile opencv against a specific anaconda environment, you can specify the PYTHON_EXECUTABLE, PYTHON_INCLUDE and PYTHON_LIBRARY, PYTHON_PACKAGES_PATH, PYTHON_NUMPY_INCLUDE_DIR variables in cmake.

    In the following example I have an opencv340 anaconda environment located in /home/yourself/anaconda3/envs/opencv340 and so I'll specifiy the above variables for cmake as follows:

    -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
    

    You'll then see that opencv pick the correct python, the one in the anaconda environment of which you gave the path of.

    You then copy the cv2*.so from your opencv build directory to the site-packages of your anaconda environment.

    Your site-packages directory should be located somewhere like:

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

    You can get the actual location from a python console with:

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

    Then (adapt accordingly to your case and cv2*.so actual name):

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

    And you should be able to import cv2 from a python console.

    I've just done so (ubuntu 16.04).

提交回复
热议问题