OpenCVはPython 3.3ではまだ利用できません。それを使用するには、本当にPython 2.7にダウングレードする必要がありますか?私はインターネット上でそれについて多くを見つけませんでした。OpenCVがPython 3.xで使用するためにまだ移植されていなかったという2012年からのいくつかの投稿だけです。しかし、現在は2014年であり、最新のOpenCV 2.4.xをインストールしてcv2.pyd
ファイルをC:\ Program Files(x86)\ Python333\Lib\site-packagesにコピーしようとしていますPython IDLEでエラーが発生します:
>>> import cv2
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import cv2
ImportError: DLL load failed: %1 ist keine zulässige Win32-Anwendung.
編集:最初に新しいpipメソッドを試してください:
Windows:pip3 install opencv-python opencv-contrib-python
Ubuntu:Sudo apt install python3-opencv
または、ビルド手順については以下に進みます
注:元の質問は、OpenCV + Python 3.3 + Windowsを要求することでした。それ以来、Python 3.5がリリースされました。さらに、私はほとんどの開発にUbuntuを使用しているため、残念ながらこの回答はそのセットアップに焦点を当てています
OpenCV 3.1.0 + Python 3.5.2 + Ubuntu 16.04が可能です!方法は次のとおりです。
これらの手順は、次の場所からコピー(およびわずかに変更)されます。
必要な依存関係をインストールし、オプションでシステムにいくつかのライブラリをインストール/更新します。
# Required dependencies
Sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
# Dependencies for Python bindings
# If you use a non-system copy of Python (eg. with pyenv or virtualenv), then you probably don't need to do this part
Sudo apt install python3.5-dev libpython3-dev python3-numpy
# Optional, but installing these will ensure you have the latest versions compiled with OpenCV
Sudo apt install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
OpenCVのビルドを調整するためのフラグとオプションがいくつかあります。それらについて包括的なドキュメントがあるかもしれませんが、ここに役に立つかもしれないいくつかの興味深いフラグがあります。これらはcmake
コマンドに含める必要があります。
# Builds in TBB, a threading library
-D WITH_TBB=ON
# Builds in Eigen, a linear algebra library
-D WITH_EIGEN=ON
Pythonの複数のバージョンがある場合(たとえば、pyenvまたはvirtualenvを使用して)、特定のPythonバージョンに対してビルドすることができます。デフォルトでは、OpenCVはシステムのバージョンのPython用にビルドされます。これらの引数をスクリプトの後半にあるcmake
コマンドに追加することにより、これを変更できます。実際の値は設定によって異なります。 pyenv
を使用します:
-D PYTHON_DEFAULT_EXECUTABLE=$HOME/.pyenv/versions/3.5.2/bin/python3.5
-D PYTHON_INCLUDE_DIRS=$HOME/.pyenv/versions/3.5.2/include/python3.5m
-D PYTHON_EXECUTABLE=$HOME/.pyenv/versions/3.5.2/bin/python3.5
-D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so.1
CMakeListsファイルは、ビルドするPythonのさまざまなバージョンを検出しようとします。ここに異なるバージョンがある場合、混乱する可能性があります。上記の引数は、1つのバージョンのPythonの問題を「修正」するだけで、他のバージョンはそうではありません。その特定のバージョンのみに関心がある場合は、他に心配する必要はありません。
残念ながら、これは他のPythonバージョンの問題を解決する方法を検討していません。
# Clone OpenCV somewhere
# I'll put it into $HOME/code/opencv
OPENCV_DIR="$HOME/code/opencv"
OPENCV_VER="3.1.0"
git clone https://github.com/opencv/opencv "$OPENCV_DIR"
# This'll take a while...
# Now lets checkout the specific version we want
cd "$OPENCV_DIR"
git checkout "$OPENCV_VER"
# First OpenCV will generate the files needed to do the actual build.
# We'll put them in an output directory, in this case "release"
mkdir release
cd release
# Note: This is where you'd add build options, like TBB support or custom Python versions. See above sections.
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local "$OPENCV_DIR"
# At this point, take a look at the console output.
# OpenCV will print a report of modules and features that it can and can't support based on your system and installed libraries.
# The key here is to make sure it's not missing anything you'll need!
# If something's missing, then you'll need to install those dependencies and rerun the cmake command.
# OK, lets actually build this thing!
# Note: You can use the "make -jN" command, which will run N parallel jobs to speed up your build. Set N to whatever your machine can handle (usually <= the number of concurrent threads your CPU can run).
make
# This will also take a while...
# Now install the binaries!
Sudo make install
Pythonのカスタムバージョンを使用するように指定していても、デフォルトでは、install
スクリプトはPythonバインディングを何らかのシステムの場所に配置します。修正は簡単です。ローカルsite-packages
のバインディングにシンボリックリンクを配置します。
ln -s /usr/local/lib/python3.5/site-packages/cv2.cpython-35m-x86_64-linux-gnu.so $HOME/.pyenv/versions/3.5.2/lib/python3.5/site-packages/
最初のパスは、ビルドするためにセットアップしたPythonバージョンに依存します。 2つ目は、Pythonのカスタムバージョンがどこにあるかによって異なります。
OK、試してみましょう!
ipython
Python 3.5.2 (default, Sep 24 2016, 13:13:17)
Type "copyright", "credits" or "license" for more information.
IPython 5.1.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: import cv2
In [2]: img = cv2.imread('derp.png')
i
In [3]: img[0]
Out[3]:
array([[26, 30, 31],
[27, 31, 32],
[27, 31, 32],
...,
[16, 19, 20],
[16, 19, 20],
[16, 19, 20]], dtype=uint8)
はいPython 3のサポートは現在のバージョンではまだ利用できませんが、バージョン .0、(このチケットを参照) から利用できます。本当にpython 3に開発版を使用してもらいたい場合は、ダウンロードできます GitHubから 。
編集(2015年7月18日):バージョン3.0がリリースされ、 python 3サポートが正式に利用可能になりました
ここでの解決策(以下のリンクの「cp34」で見られるように思います)Python 3.4。
http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv に移動します。
適切な.whlをダウンロードします。
.whlが保存されているディレクトリに移動します。
Pipを使用して.whlをインストールします。例えばpip install opencv_python-3.0.0-cp34-none-win_AMD64.whl
次に、import cv2
を使用します。
Pipアプリケーションを使用します。 WindowsではPython3/Scripts/pip.exe
にあり、Ubuntuではapt-get install python3-pip
でインストールできます。そのため、コマンドラインを使用します。
pip3 install --upgrade pip
pip3 install opencv-python
Windowsでは、pip3ではなくpip.exeのみを使用します
私はこれが古いスレッドであることを知っていますが、だれかが見ている場合に備えて、El Capitanでどのように動作するかを以下に示します。
brew install opencv3 --with-python3
完了するまでしばらく待ちます。
次に、必要に応じて次を実行します。
brew unlink opencv
次に、最終ステップとして次を実行します。
brew ln opencv3 --force
これで、python 3.xスクリプトでimport cv2
問題なく実行できるはずです。
Midopaの優れた点についてコメントすることはできません answer 評判不足のため。
Macでは、次のコマンドを使用して(最終的に)opencv from source を正常にインストールしました。
cmake -D CMAKE_BUILD_TYPE=RELEASE
-D CMAKE_INSTALL_PREFIX=/usr/local
-D PYTHON_EXECUTABLE=/Library/Frameworks/Python.framework/Versions/3.4/bin/python3
-D PYTHON_LIBRARY=/Library/Frameworks/Python.framework//Versions/3.4/lib/libpython3.4m.dylib
-D PYTHON_INCLUDE_DIR=/Library/Frameworks/Python.framework/Versions/3.4/include/python3.4m
-D PYTHON_NUMPY_INCLUDE_DIRS=/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/numpy/core/include/numpy
-D PYTHON_PACKAGES_PATH=/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages
/relative/path/to/source/directory/
その後、
make -j8
マシンが処理できるスレッド数を8に変更し、速度を上げます
Sudo make install
Pythonが~/.bash_profile
を見つけることができるように、PYTHONPATH
環境変数をcv2.so
ファイルに追加しました。
PYTHONPATH="${PYTHONPATH}:/usr/local/lib/python3.4/site-packages”
export PYTHONPATH
[PyCharmを使用している場合、[設定]> [プロジェクト構造]> [コンテンツルートの追加]に移動し、cv2.so
の親ディレクトリへのパスを追加する必要がありました:/usr/local/lib/python3.4/site-packages
]
このコマンドにより、次のような過去のエラーが発生しました。
Could NOT find PythonLibs
、pythonライブラリパスを明示的に宣言することにより
ld: can't link with a main executable for architecture x86_64
collect2: error: ld returned 1 exit status
make[2]: *** [lib/cv2.so] Error 1
make[1]: *** [modules/python2/CMakeFiles/opencv_python2.dir/all] Error 2
make: *** [all] Error 2
libpython3.4m.dylibを明示的に指すことにより
ターミナルで、それが動作することを確認します:
$python3
>>> import cv2
ImportError: No module named 'cv2'
が表示されない場合はすべて良いです
これは、Macbook Pro Retina 15 "2013、Mavericks 10.9.4、Python 3.4.1(以前は 公式ダウンロード からインストールされていました)、ソースからのopencv3で機能しました。 。
Python3バインディングと仮想環境を使用してOSXでopencv 3.0を動作させるのに苦労しました。他の回答は大いに役立ちましたが、まだ少しかかりました。これが次の人の助けになることを願っています。これをbuild_opencv.sh
に保存します。次に、 opencv をダウンロードし、以下のシェルスクリプトの変数を変更し、指を交差させて実行します(. ./build_opencv.sh
)。デバッグには、他の投稿、特に James Fletchers を使用してください。
Opencv lib dirをPYTHONPATHに追加することを忘れないでください。
注-これにより、多くの機能が移動されたopencv-contribもダウンロードされます。また、ドキュメントとは異なるネームスペースからも参照されるようになりました-たとえば、SIFTはcv2.xfeatures2d.SIFT_createの下になりました。うーん.
#!/bin/bash
# Install opencv with python3 bindings: https://stackoverflow.com/questions/20953273/install-opencv-for-python-3-3/21212023#21212023
# First download opencv and put in OPENCV_DIR
#
# Edit this section
#
PYTHON_DIR=/Library/Frameworks/Python.framework/Versions/3.4
OPENCV_DIR=/usr/local/Cellar/opencv/3.0.0
NUM_THREADS=8
CONTRIB_TAG="3.0.0" # This will also download opencv_contrib and checkout the appropriate tag https://github.com/Itseez/opencv_contrib
#
# Run it
#
set -e # Exit if error
cd ${OPENCV_DIR}
if [[ ! -d opencv_contrib ]]
then
echo '**Get contrib modules'
[[ -d opencv_contrib ]] || mkdir opencv_contrib
git clone [email protected]:Itseez/opencv_contrib.git .
git checkout ${CONTRIB_TAG}
else
echo '**Contrib directory already exists. Not fetching.'
fi
cd ${OPENCV_DIR}
echo '**Going to do: cmake'
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D PYTHON_EXECUTABLE=${PYTHON_DIR}/bin/python3 \
-D PYTHON_LIBRARY=${PYTHON_DIR}/lib/libpython3.4m.dylib \
-D PYTHON_INCLUDE_DIR=${PYTHON_DIR}/include/python3.4m \
-D PYTHON_NUMPY_INCLUDE_DIRS=${PYTHON_DIR}/lib/python3.4/site-packages/numpy/core/include/numpy \
-D PYTHON_PACKAGES_PATH=${PYTHON_DIR}lib/python3.4/site-packages \
-D OPENCV_EXTRA_MODULES_PATH=opencv_contrib/modules \
-D BUILD_opencv_legacy=OFF \
${OPENCV_DIR}
echo '**Going to do: make'
make -j${NUM_THREADS}
echo '**Going to do: make install'
Sudo make install
echo '**Add the following to your .bashrc: export PYTHONPATH=${PYTHONPATH}:${OPENCV_DIR}/lib'
export PYTHONPATH=${PYTHONPATH}:${OPENCV_DIR}/lib
echo '**Testing if it worked'
python3 -c 'import cv2'
echo 'opencv properly installed with python3 bindings!' # The script will exit if the above failed.
ここで言及されているUbuntu 14.04LTSおよび別の参照されている tutorial でさまざまなオプションを試して3時間を費やしました。 OpenCV3.0.0でしばらく試してみましたが、最終的には3.1.0に切り替えました。以下が働いた:
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D PYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.4m.so \
-D PYTHON3_EXECUTABLE=/usr/bin/python3.4m \
-D PYTHON3_INCLUDE_DIR=/usr/include/python3.4m/ \
-D PYTHON_INCLUDE_DIR=/usr/include/python3.4m/ \
-D PYTHON3_INCLUDE_DIRS=/usr/include/python3.4m/ \
-D PYTHON_INCLUDE_DIRS=/usr/include/python3.4m/ \
-D BUILD_opencv_python3=ON \
.
出力:
-- OpenCV modules:
-- To be built: core flann imgproc ml photo video imgcodecs shape videoio highgui objdetect superres ts features2d calib3d stitching videostab python3
-- Disabled: Java world
-- Disabled by dependency: -
-- Unavailable: cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev python2 viz
-- Python 3:
-- Interpreter: /usr/bin/python3.4m (ver 3.4.3)
-- Libraries: /usr/lib/x86_64-linux-gnu/libpython3.4m.so (ver 3.4.3)
-- numpy: /usr/lib/python3/dist-packages/numpy/core/include (ver 1.8.2)
-- packages path: /usr/lib/python3/dist-packages
--
-- Python (for build):
また、virtualenvでは次のcmakeオプションを使用しました。
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=$VIRTUAL_ENV \
-D PYTHON3_EXECUTABLE=$VIRTUAL_ENV/bin/python3 \
-D PYTHON3_PACKAGES_PATH=$VIRTUAL_ENV/lib/python3.4/site-packages \
-D PYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.4m.so \
-D PYTHON3_INCLUDE_DIR=$VIRTUAL_ENV/include/python3.4m \
-D PYTHON_INCLUDE_DIR=$VIRTUAL_ENV/include/python3.4m \
-D PYTHON3_INCLUDE_DIRS=$VIRTUAL_ENV/include/python3.4m \
-D PYTHON_INCLUDE_DIRS=$VIRTUAL_ENV/include/python3.4m \
-D BUILD_opencv_python3=ON \
.
Ffmpegインクルードに問題がある場合は、次を追加してビデオサポートを削除します。
-D WITH_FFMPEG=OFF \
-D WITH_GSTREAMER=OFF \
-D WITH_V4L=OFF \
-D WITH_1394=OFF \
また、make clean
の使用に関するcmakeの警告にも注意してください。 make cleanを実行した場合、元のパッケージを新たに解凍する必要があるかもしれません。 Cmakeが死んだ、Cmakeを長く生きる
ジェームズ・フレッチャーの答えに関連する完全な指示が見つかります ここ
特にAnacondaディストリビューションでは、次のように変更する必要がありました。
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D PYTHON3_PACKAGES_PATH=/anaconda/lib/python3.4/site-packages/ \
-D PYTHON3_LIBRARY=/anaconda/lib/libpython3.4m.dylib \
-D PYTHON3_INCLUDE_DIR=/anaconda/include/python3.4m \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=ON \
-D BUILD_opencv_python3=ON \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..
最後の行は省略できます(上記のリンクを参照)
誰かがこのためにdocker container/fileを公開しました:
https://github.com/vipul-sharma20/docker-opencv3-python
https://hub.docker.com/r/vipul20/docker-opencv3-python3/~/dockerfile/
Dockerハブから直接イメージをプルするか、Dockerfileの指示に従ってインストールできます。
あなたがここにいるなら...申し訳ありませんが、他のオプションはうまくいきませんでした。これを試して:
conda install -c menpo opencv3
Scivision's Tutorial のステップ1から。それでもうまくいかない場合は、手順2に進みます。
(Windowsのみ)OpenCV 3.2 pip install
OpenCV .whlファイルをここからダウンロード 。名前に
contrib
を含むパッケージには、OpenCV-extraパッケージが含まれます。たとえば、Python 3.6がある場合、opencv_python-3.2.0+contrib-cp36-none-win_AMD64.whl
をダウンロードしてOpenCV-extraパッケージを取得できます。次に、コマンドプロンプトから:
pip install opencv_python-3...yourVersion...win_AMD64.whl
そのチュートリアルのステップ2からの...win_AMD64.whl
wheelパッケージは、AMDチップ向けです。
Opencv3を手動でインストールするか、Gohlkeのwhlパッケージからインストールするかに関係なく、古いコードと互換性を持たせるには、site_packagesでcv.pyファイルを次のように作成/編集する必要があることがわかりました。
import cv2 as cv
Windowsのコマンドプロンプト(cmd)で次のコマンドを使用できます。
py -3.3 -m pip install opencv-python
OpenCV PythonをWindowsにインストールする方法について1分ここでvideoを作成しました。
https://www.youtube.com/watch?v=m2-8SHk-1SM
助けてください!