↓もし、良かったらSNSでの紹介よろしくお願いします。

OpenCV3.3(core+contrib)をPythonにインストール

bootstrap

なぜ、pipで入れるの?

PythonにOpenCVのcontribモジュールを使いたかったのでpipに入れてみました。

Python3にOpenCV3.3を入れる場合は
OpenCVのソースからビルドする必要があって面倒です。
なのでpipで入れました。

contribって?

OpenCVのcontribにはライセンスの関係上、商用で使いづらいアルゴリズムがあります。
「商用利用可能なモジュール」とそれ以外を明確に分ける目的でcontribというモジュール群ができました。

contribは商用利用のときには、ライセンスに気を遣う必要があります。

contribの代表的なアルゴリズムは
特徴検出アルゴリズムSIFTやSURFなどがあります。

https://www.tech-tech.xyz/archives/sift-surf-akaze.html

opencv-contrib-pythonをインストール

すでにOpenCVがPythonに入ってる場合は、アンインストールしておきましょう。

Opencvはpipで簡単にインストールできます。

pip install opencv-contrib-python

MacやLinuxの場合は、sudoを付けてください。

上手くいかない場合

下記のようなエラーが出ることがあります。
この場合、pipやwheelのバージョンが古い可能性が高いです。

Collecting opencv-contrib-python
Could not find a version that satisfies the requirement opencv-contrib-python (from versions: )
No matching distribution found for opencv-contrib-python

pipのバージョンをアップグレードします。

pip install --upgrade pip

最新のwheelをインストールします。

pip install wheel

再度、下記のコマンドを実行

pip install opencv-contrib-python

それでも、上手くいかない場合

whlファイルをPyPIからダウンロードしてpipでインストールしてみましょう。環境に応じたwhlファイルを下記のリンクからダウンロードしましょう。

opencv-contrib-python 3.3.0.10-PyPl

  • opencv_contrib_python-3.3.0.10-cp36-cp36m-win32.whl(WIndowsで32bitの場合)
  • opencv_contrib_python-3.3.0.10-cp36-cp36m-win_amd64.whl(WIndowsで64bitの場合)
  • opencv_contrib_python-3.3.0.10-cp36-cp36m-manylinux1_i686.whl(Linux系で32bitの場合)
  • opencv_contrib_python-3.3.0.10-cp36-cp36m-manylinux1_x86_64.whl(Linux系で64bitの場合)
  • opencv_contrib_python-3.3.0.10-cp36-cp36m-macosx_10_6_
    intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_
    intel.macosx_10_10_x86_64.whl(Macの場合)

ダウンロードしたら下記のようにコマンドを実行しましょう

pip install ダウンロードしたwhlファイルのパス

ここまでやってみて上手くいかない場合、
pipの使い方やpip自体に問題がある可能性が高いです。