![]() |
OpenCV 5.0.0
Open Source Computer Vision
|
このチュートリアルでは
OpenCV-Python は Fedora に2通りの方法でインストールできる。1) Fedoraリポジトリで利用できるビルド済みバイナリからインストールする、2) ソースからコンパイルする。本節ではその両方を見ていく。
もう一つの重要な点は、必要となる追加ライブラリである。OpenCV-Pythonは Numpy のみを必要とする(後述する他の依存関係に加えて)。ただし本チュートリアルでは、手軽できれいなプロット用に Matplotlib も使用する(OpenCVと比べてずっと使いやすいと感じる)。Matplotlibは省略可能だが、強く推奨する。同様に、対話型Pythonターミナルである IPython も見ていくが、こちらも強く推奨する。
ターミナルでroot権限により以下のコマンドを実行して、すべてのパッケージをインストールする。
Python IDLE(またはIPython)を開き、Pythonターミナルで以下のコードを入力する。
エラーなく結果が出力されれば、おめでとう!!! OpenCV-Pythonのインストールに成功している。
これはとても簡単である。しかし、これには問題がある。Yumリポジトリには常に最新版のOpenCVが含まれているとは限らない。例えば、本チュートリアル執筆時点では、yumリポジトリには2.4.5が含まれている一方で、OpenCVの最新版は2.4.6である。Python APIに関しては、最新版の方が常にはるかに優れたサポートを備えている。また、ドライバ、ffmpeg、gstreamerパッケージの有無などによっては、カメラのサポートやビデオ再生などに問題が生じる可能性もある。
そのため、私個人としては次の方法、すなわちソースからのコンパイルを好む。また、いずれOpenCVに貢献したくなったときには、この方法が必要になる。
ソースからのコンパイルは最初は少し複雑に思えるかもしれないが、いったん成功すれば何も複雑なことはない。
まず、いくつかの依存パッケージをインストールする。必須のものもあれば、省略可能なものもある。省略可能な依存パッケージは、不要であれば入れなくてよい。
インストールを構成するために CMake、コンパイルのために GCC、Python拡張の作成などのために Python-devel と Numpy が必要である。
次に、GUI機能のための GTK サポート、カメラサポート (libdc1394, v4l)、メディアサポート (ffmpeg, gstreamer) などが必要である。
上記の依存パッケージがあれば、Fedoraマシンへの OpenCV のインストールには十分である。しかし、要件によっては追加の依存パッケージが必要になる場合がある。そのような省略可能な依存パッケージの一覧を以下に示す。入れるか省くかはあなた次第である :)
OpenCV には PNG、JPEG、JPEG2000、TIFF、WebP などの画像フォーマット用のサポートファイルが付属している。ただし、それらは少し古いことがある。最新のライブラリを入れたい場合は、これらのフォーマット用の開発ファイルをインストールするとよい。
いくつかのOpenCV関数は Intel's Threading Building Blocks (TBB) によって並列化されている。ただし、これを有効にしたい場合は、まずTBBをインストールする必要がある。( また、CMakeでインストールを構成する際には -D WITH_TBB=ON を渡すのを忘れないこと。詳細は後述する。)
OpenCV は最適化された数学的演算のために別のライブラリ Eigen を使用する。そのため、システムに Eigen がインストールされていれば、それを活用できる。( また、CMakeでインストールを構成する際には -D WITH_EIGEN=ON を渡すのを忘れないこと。詳細は後述する。)
ドキュメント をビルドしたい場合 ( そう、OpenCV の完全な公式ドキュメントのオフライン版を、完全な検索機能付きのHTMLとしてシステム上に作成できる。これにより、何か疑問があるたびに常にインターネットへアクセスする必要がなくなり、しかも非常に高速である!!! )、Doxygen (ドキュメント生成ツール) をインストールする必要がある。
次に OpenCV をダウンロードする必要がある。OpenCV の最新リリースは sourceforgeサイト からダウンロードできる。その後、フォルダを展開する。
あるいは、OpenCV の githubリポジトリから最新のソースをダウンロードすることもできる。(OpenCV に貢献したい場合は、こちらを選ぶこと。常に OpenCV を最新の状態に保てる)。そのためには、まず Git をインストールする必要がある。
これによりホームディレクトリ(または指定したディレクトリ)に OpenCV フォルダが作成される。クローンにはインターネット接続によってはしばらく時間がかかることがある。
ここでターミナルウィンドウを開き、ダウンロードした OpenCV フォルダへ移動する。新しいbuildフォルダを作成し、そこへ移動する。
必要な依存パッケージをすべてインストールしたので、OpenCV をインストールしよう。インストールはCMakeで構成する必要がある。どのモジュールをインストールするか、インストールパス、どの追加ライブラリを使用するか、ドキュメントやサンプルをコンパイルするかどうかなどを指定する。構成には通常、以下のコマンドが使われる(buildフォルダから実行する)。
これはビルドタイプが "Release Mode" で、インストールパスが /usr/local であることを指定している。各オプションの前の -D と末尾の .. に注目すること。要するに、これがフォーマットである:
好きなだけ多くのフラグを指定できるが、各フラグは -D を前に付ける必要がある。
そこで本チュートリアルでは、TBB と Eigen のサポート付きで OpenCV をインストールする。ドキュメントもビルドするが、パフォーマンステストとサンプルのビルドは除外する。また、GPU関連モジュールも無効にする(OpenCV-Python を使うのでGPU関連モジュールは不要である。これにより少し時間を節約できる)。
(以下のコマンドはすべて1つのcmake文で行うこともできるが、ここでは理解しやすいように分割している。)
次に、make コマンドを使ってファイルをビルドし、make install コマンドを使ってインストールする。make install は root権限で実行する必要がある。
インストールは完了である。すべてのファイルは /usr/local/ フォルダにインストールされる。ただし、これを使うには、あなたの Python が OpenCV モジュールを見つけられる必要がある。そのために2つの選択肢がある。
import sys; print(sys.path) と入力すると確認できる。多くの場所が出力される。/usr/local/lib/python2.7/site-packages/cv2.so をそれらのいずれかのフォルダへ移動する。例えば、 ドキュメントをビルドするには、以下のコマンドを入力するだけである:
そして opencv/build/doc/doxygen/html/index.html を開き、ブラウザにブックマークしておくこと。