Установка opencv 3.1 с помощью anaconda python3?

Как установить opencv с помощью anaconda python3, opencv взял мои исполняемые файлы 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

Я установил opencv со следующими параметрами make

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. Однако я могу импортировать cv2 из встроенной команды python2. Поэтому я полагаю, что он построен для версии python2, как указано в последней строке.

Как мне создать anaconda python3?

Ответы

Ответ 1

Я думаю, вам не нужно создавать OpenCV для Anaconda, это очень удобно инструмент под названием "conda", который доступен в вашем терминале после установки дистрибутив Python Anaconda.

Я нашел этот сайт, который дает инструкции по установке opencv3

https://anaconda.org/menpo/opencv3

Я лично установил его сам, поэтому попробуйте следовать этим инструкциям.

Если в вашей системе установлен дистрибутив Python Anaconda, вы можете выполнить эту команду (при условии, что вы работаете в Linux), чтобы запустить терминал:

conda install -c menpo opencv

Если версия Python, установленная в вашей Anaconda, составляет 2.7, приведенная выше команда должна установить OpenCV 3.1, но если версия вашего python - 3.5, то вам следует изменить 'opencv' в последней строке на 'opencv3'

conda install -c menpo opencv3

Это должно установить OpenCV в вашу Anaconda. Чтобы убедиться, что вы успешно установили его, запустите ваш Python и введите следующую команду:

import cv2 # import the opencv library

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

Надеюсь, это поможет =)

Ответ 2

Если вы получаете сообщение об ошибке:

    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

Ответ 3

Попробуйте этот метод, который сработал у меня. Anaconda3-4

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

Ответ 4

Ни один из вышеперечисленных методов не работал у меня. Однако я обнаружил, что этот один лайнер работает для меня:

conda install -c conda-forge opencv

Ответ 5

В случае с conda v4.3.16 и python v3.6 эта команда работала у меня:

conda install -c anaconda opencv

Ответ 6

Если вы хотите скомпилировать opencv для определенной среды anaconda, вы можете указать переменные PYTHON_EXECUTABLE, PYTHON_INCLUDE и PYTHON_LIBRARY, PYTHON_PACKAGES_PATH, PYTHON_NUMPY_INCLUDE_DIR в cmake.

В следующем примере у меня есть среда anaconda opencv340, расположенная в /home/self/anaconda3/envs/opencv340, и поэтому я укажу вышеупомянутые переменные для 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 выбрал правильный питон, тот, в окружении анаконды которого вы указали путь.

Затем вы копируете cv2 *.so из вашего каталога сборки opencv в site-packages вашей среды anaconda.

Ваш каталог 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 *.so фактическому имени):

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

И вы должны быть в состоянии import cv2 из консоли Python.

Я только что сделал это (Ubuntu 16.04).

Ответ 7

Конда: 4.7.10, питон: 3.7.3, канал: по умолчанию

Установка opencv из канала default работала для меня. Я установил в чистую среду и не было конфликтов.

conda install opencv
The following NEW packages will be INSTALLED:

  blas               pkgs/main/osx-64::blas-1.0-mkl
  bzip2              pkgs/main/osx-64::bzip2-1.0.8-h1de35cc_0
  cairo              pkgs/main/osx-64::cairo-1.14.12-hc4e6be7_4
  ffmpeg             pkgs/main/osx-64::ffmpeg-4.0-h01ea3c9_0
  fontconfig         pkgs/main/osx-64::fontconfig-2.13.0-h5d5b041_1
  freetype           pkgs/main/osx-64::freetype-2.9.1-hb4e5f40_0
  gettext            pkgs/main/osx-64::gettext-0.19.8.1-h15daf44_3
  glib               pkgs/main/osx-64::glib-2.56.2-hd9629dc_0
  graphite2          pkgs/main/osx-64::graphite2-1.3.13-h2098e52_0
  harfbuzz           pkgs/main/osx-64::harfbuzz-1.8.8-hb8d4a28_0
  hdf5               pkgs/main/osx-64::hdf5-1.10.2-hfa1e0ec_1
  icu                pkgs/main/osx-64::icu-58.2-h4b95b61_1
  intel-openmp       pkgs/main/osx-64::intel-openmp-2019.4-233
  jasper             pkgs/main/osx-64::jasper-2.0.14-h636a363_1
  jpeg               pkgs/main/osx-64::jpeg-9b-he5867d9_2
  libgfortran        pkgs/main/osx-64::libgfortran-3.0.1-h93005f0_2
  libiconv           pkgs/main/osx-64::libiconv-1.15-hdd342a3_7
  libopencv          pkgs/main/osx-64::libopencv-3.4.2-h7c891bd_1
  libopus            pkgs/main/osx-64::libopus-1.3-h1de35cc_0
  libpng             pkgs/main/osx-64::libpng-1.6.37-ha441bb4_0
  libtiff            pkgs/main/osx-64::libtiff-4.0.10-hcb84e12_2
  libvpx             pkgs/main/osx-64::libvpx-1.7.0-h378b8a2_0
  libxml2            pkgs/main/osx-64::libxml2-2.9.9-hf6e021a_1
  mkl                pkgs/main/osx-64::mkl-2019.4-233
  mkl_fft            pkgs/main/osx-64::mkl_fft-1.0.12-py37h5e564d8_0
  mkl_random         pkgs/main/osx-64::mkl_random-1.0.2-py37h27c97d8_0
  numpy              pkgs/main/osx-64::numpy-1.16.4-py37hacdab7b_0
  numpy-base         pkgs/main/osx-64::numpy-base-1.16.4-py37h6575580_0
  opencv             pkgs/main/osx-64::opencv-3.4.2-py37h6fd60c2_1
  pcre               pkgs/main/osx-64::pcre-8.43-h0a44026_0
  pixman             pkgs/main/osx-64::pixman-0.38.0-h1de35cc_0
  py-opencv          pkgs/main/osx-64::py-opencv-3.4.2-py37h7c891bd_1
  zstd               pkgs/main/osx-64::zstd-1.3.7-h5bba6e5_0
$python                                                                                                
Python 3.7.3 (default, Mar 27 2019, 16:54:48)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.4.2'
>>>