Anaconda python3でopencvをインストールする方法、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
私は以下のmakeオプションで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" ..
しかし、インストール後、anacondaのpython3内にcv2をインポートできません。ただし、組み込みのpython2コマンドからcv2をインポートできます。したがって、前の行で述べたように、python2バージョン用にビルドすると思います。
Anaconda python3をビルドするにはどうすればよいですか?
AnacondaのOpenCVをビルドする必要はないと思います。Anacondapythonディストリビューションをインストールすると、ターミナルで利用できる「conda」と呼ばれる非常に便利なツールがあります。
Opencv3のインストール方法を説明するこのサイトを見つけました
https://anaconda.org/menpo/opencv3
私は自分でインストールしたので、これらの指示に従ってください。
Anaconda pythonディストリビューションがシステムにインストールされている場合、次のコマンドを発行できます(Linuxで作業していると想定))ターミナルを起動します。
conda install -c menpo opencv
python Anacondaへのインストールのバージョンが2.7の場合、上記のコマンドでOpenCV 3.1がインストールされますが、pythonのバージョンが3.5の場合、最後の行の「opencv」を「opencv3」に変更する必要があります
conda install -c menpo opencv3
これにより、AnacondaにOpenCVがインストールされます。正常にインストールされたかどうかを確認するには、Pythonを起動して、次のコマンドを発行します。
import cv2 # import the opencv library
cv2.__version__ # this will print the version of your opencv3
それが役立つことを願っています=)
次のようなエラーが発生した場合:
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-4
conda create -n opencv
activate opencv
conda install -c https://conda.binstar.org/menpo opencv3
上記の方法はどれも私にはうまくいきませんでした。ただし、この1つのライナーでうまくいくことがわかりました。
conda install -c conda-forge opencv
Conda v4.3.16とpython v3.6で、このコマンドは私のために働きました:
conda install -c anaconda opencv
特定のanaconda環境に対してopencvをコンパイルする場合は、cmake
でPYTHON_EXECUTABLE, PYTHON_INCLUDE
およびPYTHON_LIBRARY, PYTHON_PACKAGES_PATH, PYTHON_NUMPY_INCLUDE_DIR
変数を指定できます。
次の例では、opencv340 anaconda環境が/ home/yourself/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が正しいpythonを選択するのがわかります。これは、パスを指定したanaconda環境にあるものです。
次に、cv2 * .soをopencvビルドディレクトリからanaconda環境のsite-packages
にコピーします。
site-packages
ディレクトリは、次のような場所に配置する必要があります。
/home/yourself/anaconda3/envs/opencv340/lib/python3.6/site-packages
python console with the with:
>>> 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/.
そして、pythonコンソールからimport cv2
できるはずです。
私はそうしました(ubuntu 16.04)。
conda:4.7.1、python:.7.、channel:default
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'
>>>