web-dev-qa-db-ja.com

Python 3.3のopencvをインストールします

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.
57
tim

編集:最初に新しい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フラグ

OpenCVのビルドを調整するためのフラグとオプションがいくつかあります。それらについて包括的なドキュメントがあるかもしれませんが、ここに役に立つかもしれないいくつかの興味深いフラグがあります。これらはcmakeコマンドに含める必要があります。

# Builds in TBB, a threading library
-D WITH_TBB=ON
# Builds in Eigen, a linear algebra library
-D WITH_EIGEN=ON

非システムレベルPythonバージョンの使用

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

CMake Pythonエラーメッセージ

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)
44
midopa

はいPython 3のサポートは現在のバージョンではまだ利用できませんが、バージョン .0、(このチケットを参照) から利用できます。本当にpython 3に開発版を使用してもらいたい場合は、ダウンロードできます GitHubから

編集(2015年7月18日):バージョン3.0がリリースされ、 python 3サポートが正式に利用可能になりました

13
Pawel Miech

ここでの解決策(以下のリンクの「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を使用します。

13
user3731622

Pipアプリケーションを使用します。 WindowsではPython3/Scripts/pip.exeにあり、Ubuntuではapt-get install python3-pipでインストールできます。そのため、コマンドラインを使用します。

pip3 install --upgrade pip

pip3 install opencv-python

Windowsでは、pip3ではなくpip.exeのみを使用します

7
Allan Galdino

私はこれが古いスレッドであることを知っていますが、だれかが見ている場合に備えて、El Capitanでどのように動作するかを以下に示します。

brew install opencv3 --with-python3

完了するまでしばらく待ちます。

次に、必要に応じて次を実行します。

brew unlink opencv

次に、最終ステップとして次を実行します。

brew ln opencv3 --force

これで、python 3.xスクリプトでimport cv2問題なく実行できるはずです。

6
jamescampbell

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で機能しました。 。

6
James Fletcher

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.
3
Ross R

ここで言及されている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を長く生きる

3
gesell

ジェームズ・フレッチャーの答えに関連する完全な指示が見つかります ここ

特に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 ..

最後の行は省略できます(上記のリンクを参照)

2
Dima Lituiev

誰かがこのためにdocker container/fileを公開しました:

https://github.com/vipul-sharma20/docker-opencv3-python

https://hub.docker.com/r/vipul20/docker-opencv3-python3/~/dockerfile/

Dockerハブから直接イメージをプルするか、Dockerfileの指示に従ってインストールできます。

1
Karl Rosaen

あなたがここにいるなら...申し訳ありませんが、他のオプションはうまくいきませんでした。これを試して:

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チップ向けです。

1
zelusp

Opencv3を手動でインストールするか、Gohlkeのwhlパッケージからインストールするかに関係なく、古いコードと互換性を持たせるには、site_packagesでcv.pyファイルを次のように作成/編集する必要があることがわかりました。

import cv2 as cv
0
Ninga

Windowsのコマンドプロンプト(cmd)で次のコマンドを使用できます。

py -3.3 -m pip install opencv-python

OpenCV PythonをWindowsにインストールする方法について1分ここでvideoを作成しました。

https://www.youtube.com/watch?v=m2-8SHk-1SM

助けてください!

0
Geraldo Neto