OpenCV 5.0.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 5.0.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
FedoraへのOpenCV-Pythonのインストール

警告
この手順は非推奨である。代わりにOpenCV-Pythonパッケージを使用すること。詳細はhttps://github.com/opencv/opencv-pythonを参照

目標

このチュートリアルでは

  • Fedoraシステムでの OpenCV-Python のセットアップ方法を学ぶ。以下の手順は Fedora 18 (64ビット) と Fedora 19 (32ビット) で検証済みである。

はじめに

OpenCV-Python は Fedora に2通りの方法でインストールできる。1) Fedoraリポジトリで利用できるビルド済みバイナリからインストールする、2) ソースからコンパイルする。本節ではその両方を見ていく。

もう一つの重要な点は、必要となる追加ライブラリである。OpenCV-Pythonは Numpy のみを必要とする(後述する他の依存関係に加えて)。ただし本チュートリアルでは、手軽できれいなプロット用に Matplotlib も使用する(OpenCVと比べてずっと使いやすいと感じる)。Matplotlibは省略可能だが、強く推奨する。同様に、対話型Pythonターミナルである IPython も見ていくが、こちらも強く推奨する。

ビルド済みバイナリからの OpenCV-Python のインストール

ターミナルでroot権限により以下のコマンドを実行して、すべてのパッケージをインストールする。

$ yum install numpy opencv*

Python IDLE(またはIPython)を開き、Pythonターミナルで以下のコードを入力する。

>>> import cv2 as cv
>>> print( cv.__version__ )

エラーなく結果が出力されれば、おめでとう!!! OpenCV-Pythonのインストールに成功している。

これはとても簡単である。しかし、これには問題がある。Yumリポジトリには常に最新版のOpenCVが含まれているとは限らない。例えば、本チュートリアル執筆時点では、yumリポジトリには2.4.5が含まれている一方で、OpenCVの最新版は2.4.6である。Python APIに関しては、最新版の方が常にはるかに優れたサポートを備えている。また、ドライバ、ffmpeg、gstreamerパッケージの有無などによっては、カメラのサポートやビデオ再生などに問題が生じる可能性もある。

そのため、私個人としては次の方法、すなわちソースからのコンパイルを好む。また、いずれOpenCVに貢献したくなったときには、この方法が必要になる。

ソースからの OpenCV のインストール

ソースからのコンパイルは最初は少し複雑に思えるかもしれないが、いったん成功すれば何も複雑なことはない。

まず、いくつかの依存パッケージをインストールする。必須のものもあれば、省略可能なものもある。省略可能な依存パッケージは、不要であれば入れなくてよい。

必須の依存関係

インストールを構成するために CMake、コンパイルのために GCC、Python拡張の作成などのために Python-develNumpy が必要である。

yum install cmake
yum install python-devel numpy
yum install gcc gcc-c++

次に、GUI機能のための GTK サポート、カメラサポート (libdc1394, v4l)、メディアサポート (ffmpeg, gstreamer) などが必要である。

yum install gtk2-devel
yum install libdc1394-devel
yum install ffmpeg-devel
yum install gstreamer-plugins-base-devel

任意の依存関係

上記の依存パッケージがあれば、Fedoraマシンへの OpenCV のインストールには十分である。しかし、要件によっては追加の依存パッケージが必要になる場合がある。そのような省略可能な依存パッケージの一覧を以下に示す。入れるか省くかはあなた次第である :)

OpenCV には PNG、JPEG、JPEG2000、TIFF、WebP などの画像フォーマット用のサポートファイルが付属している。ただし、それらは少し古いことがある。最新のライブラリを入れたい場合は、これらのフォーマット用の開発ファイルをインストールするとよい。

yum install libpng-devel
yum install libjpeg-turbo-devel
yum install jasper-devel
yum install openexr-devel
yum install libtiff-devel
yum install libwebp-devel

いくつかのOpenCV関数は Intel's Threading Building Blocks (TBB) によって並列化されている。ただし、これを有効にしたい場合は、まずTBBをインストールする必要がある。( また、CMakeでインストールを構成する際には -D WITH_TBB=ON を渡すのを忘れないこと。詳細は後述する。)

yum install tbb-devel

OpenCV は最適化された数学的演算のために別のライブラリ Eigen を使用する。そのため、システムに Eigen がインストールされていれば、それを活用できる。( また、CMakeでインストールを構成する際には -D WITH_EIGEN=ON を渡すのを忘れないこと。詳細は後述する。)

yum install eigen3-devel

ドキュメント をビルドしたい場合 ( そう、OpenCV の完全な公式ドキュメントのオフライン版を、完全な検索機能付きのHTMLとしてシステム上に作成できる。これにより、何か疑問があるたびに常にインターネットへアクセスする必要がなくなり、しかも非常に高速である!!! )、Doxygen (ドキュメント生成ツール) をインストールする必要がある。

yum install doxygen

OpenCV のダウンロード

次に OpenCV をダウンロードする必要がある。OpenCV の最新リリースは sourceforgeサイト からダウンロードできる。その後、フォルダを展開する。

あるいは、OpenCV の githubリポジトリから最新のソースをダウンロードすることもできる。(OpenCV に貢献したい場合は、こちらを選ぶこと。常に OpenCV を最新の状態に保てる)。そのためには、まず Git をインストールする必要がある。

yum install git
git clone https://github.com/opencv/opencv.git

これによりホームディレクトリ(または指定したディレクトリ)に OpenCV フォルダが作成される。クローンにはインターネット接続によってはしばらく時間がかかることがある。

ここでターミナルウィンドウを開き、ダウンロードした OpenCV フォルダへ移動する。新しいbuildフォルダを作成し、そこへ移動する。

mkdir build
cd build

設定とインストール

必要な依存パッケージをすべてインストールしたので、OpenCV をインストールしよう。インストールはCMakeで構成する必要がある。どのモジュールをインストールするか、インストールパス、どの追加ライブラリを使用するか、ドキュメントやサンプルをコンパイルするかどうかなどを指定する。構成には通常、以下のコマンドが使われる(buildフォルダから実行する)。

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

これはビルドタイプが "Release Mode" で、インストールパスが /usr/local であることを指定している。各オプションの前の -D と末尾の .. に注目すること。要するに、これがフォーマットである:

cmake [-D <flag>] [-D <flag>] ..

好きなだけ多くのフラグを指定できるが、各フラグは -D を前に付ける必要がある。

そこで本チュートリアルでは、TBB と Eigen のサポート付きで OpenCV をインストールする。ドキュメントもビルドするが、パフォーマンステストとサンプルのビルドは除外する。また、GPU関連モジュールも無効にする(OpenCV-Python を使うのでGPU関連モジュールは不要である。これにより少し時間を節約できる)。

(以下のコマンドはすべて1つのcmake文で行うこともできるが、ここでは理解しやすいように分割している。)

  • TBB と Eigen のサポートを有効にする:
    cmake -D WITH_TBB=ON -D WITH_EIGEN=ON ..
  • ドキュメントを有効にし、テストとサンプルを無効にする
    cmake -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF ..
  • すべてのGPU関連モジュールを無効にする。
    cmake -D WITH_OPENCL=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=OFF -D BUILD_opencv_gpucodec=OFF -D BUILD_opencv_gpufeatures2d=OFF -D BUILD_opencv_gpufilters=OFF -D BUILD_opencv_gpuimgproc=OFF -D BUILD_opencv_gpulegacy=OFF -D BUILD_opencv_gpuoptflow=OFF -D BUILD_opencv_gpustereo=OFF -D BUILD_opencv_gpuwarping=OFF ..
  • インストールパスとビルドタイプを設定する
    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
    cmake文を入力するたびに、結果として得られる構成の設定が出力される。最終的に得られた設定で、以下のフィールドが埋まっていることを確認すること(以下は私が得た構成の重要な部分の一部である)。これらのフィールドは、あなたのシステムでも適切に埋まっているはずである。そうでなければ、何らかの問題が発生している。上記の手順を正しく実行できているか確認すること。
    ...
    -- GUI:
    -- GTK+ 2.x: YES (ver 2.24.19)
    -- GThread : YES (ver 2.36.3)
    -- Video I/O:
    -- DC1394 2.x: YES (ver 2.2.0)
    -- FFMPEG: YES
    -- codec: YES (ver 54.92.100)
    -- format: YES (ver 54.63.104)
    -- util: YES (ver 52.18.100)
    -- swscale: YES (ver 2.2.100)
    -- gentoo-style: YES
    -- GStreamer:
    -- base: YES (ver 0.10.36)
    -- video: YES (ver 0.10.36)
    -- app: YES (ver 0.10.36)
    -- riff: YES (ver 0.10.36)
    -- pbutils: YES (ver 0.10.36)
    -- V4L/V4L2: Using libv4l (ver 1.0.0)
    -- Other third-party libraries:
    -- Use Eigen: YES (ver 3.1.4)
    -- Use TBB: YES (ver 4.0 interface 6004)
    -- Python:
    -- Interpreter: /usr/bin/python2 (ver 2.7.5)
    -- Libraries: /lib/libpython2.7.so (ver 2.7.5)
    -- numpy: /usr/lib/python2.7/site-packages/numpy/core/include (ver 1.7.1)
    -- packages path: lib/python2.7/site-packages
    ...
    他にも多くのフラグや設定がある。それらはさらなる探求のためにあなたに委ねる。

次に、make コマンドを使ってファイルをビルドし、make install コマンドを使ってインストールする。make install は root権限で実行する必要がある。

make
su
make install

インストールは完了である。すべてのファイルは /usr/local/ フォルダにインストールされる。ただし、これを使うには、あなたの Python が OpenCV モジュールを見つけられる必要がある。そのために2つの選択肢がある。

  1. モジュールを Python Path 内の任意のフォルダへ移動する : Python path は Pythonターミナルで import sys; print(sys.path) と入力すると確認できる。多くの場所が出力される。/usr/local/lib/python2.7/site-packages/cv2.so をそれらのいずれかのフォルダへ移動する。例えば、
    su mv /usr/local/lib/python2.7/site-packages/cv2.so /usr/lib/python2.7/site-packages
    ただし、OpenCV をインストールするたびに、これを行う必要がある。
  2. /usr/local/lib/python2.7/site-packages を PYTHON_PATH に追加する: これは一度だけ行えばよい。.bashrc を開いて以下の行を追加し、ログアウトして再ログインするだけである。
    export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
    これで OpenCV のインストールは終了である。ターミナルを開いて 'import cv2 as cv' を試してみること。

ドキュメントをビルドするには、以下のコマンドを入力するだけである:

make doxygen

そして opencv/build/doc/doxygen/html/index.html を開き、ブラウザにブックマークしておくこと。

演習

  1. あなたの Fedoraマシンで OpenCV をソースからコンパイルしてみよ。