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

前のチュートリアル: MacOSへのインストール
次のチュートリアル: Ubuntu/Debianを用いたMultiArchクロスコンパイル

原著者Alexander Smorkalov
互換性OpenCV >= 3.0
警告
このチュートリアルには古い情報が含まれている可能性がある。

ここで説明する手順はUbuntu Linux 12.04でテストしているが、他のLinuxディストリビューションでも動作するはずである。他のディストリビューションの場合、パッケージ名やクロスコンパイルツールの名前が異なる場合がある。ARMプラットフォームで使われるEABIバージョンには、よく知られたものがいくつかある。このチュートリアルはgnueabignueabihfを対象に書かれているが、他の種類でも最小限の変更で動作するはずである。

前提条件

  • Linuxが動作するホストコンピュータ
  • Git
  • CMake 2.6以上
  • ARM用のクロスコンパイルツール: gcc、libstc++ など。ターゲットプラットフォームに応じてgnueabiまたはgnueabihfのツールを選ぶ必要がある。gnueabiのインストールコマンド:
    sudo apt-get install gcc-arm-linux-gnueabi
    gnueabihfのインストールコマンド:
    sudo apt-get install gcc-arm-linux-gnueabihf
  • pkgconfig
  • ホストシステム用のPython 2.6
  • [省略可能] armeabi(hf)向けのffmpegまたはlibav開発パッケージ: libavcodec-dev、libavformat-dev、libswscale-dev
  • [省略可能] armeabi(hf)向けのGTK+2.x以上(ヘッダ libgtk2.0-dev を含む)
  • [省略可能] libdc1394 2.x
  • [省略可能] armeabi(hf)向けのlibjpeg-dev、libpng-dev、libtiff-dev、libjasper-dev

OpenCVソースコードの入手

sourceforgeで入手できる最新の安定版OpenCVを使うか、Gitリポジトリから最新のスナップショットを取得できる。

最新の安定版OpenCVの入手

Gitリポジトリから最先端のOpenCVを入手する

Gitクライアントを起動してOpenCVリポジトリをクローンする

Linuxでは、ターミナルで次のコマンドを実行すれば達成できる:

cd ~/<my_working _directory>
git clone https://github.com/opencv/opencv.git

OpenCVのビルド

  1. ビルドディレクトリを作成し、そこをカレントにして次のコマンドを実行する:
    cmake [<some optional parameters>] -DCMAKE_TOOLCHAIN_FILE=<path to the OpenCV source directory>/platforms/linux/arm-gnueabi.toolchain.cmake <path to the OpenCV source directory>
    ツールチェーンはデフォルトでgnueabihf EABI規約を使用する。softfpコンパイラに切り替えるには、cmake引数に -DSOFTFP=ON を追加する。
    cmake [<some optional parameters>] -DSOFTFP=ON -DCMAKE_TOOLCHAIN_FILE=<path to the OpenCV source directory>/platforms/linux/arm-gnueabi.toolchain.cmake <path to the OpenCV source directory>
    例えば次のようにする:
    cd ~/opencv/platforms/linux
    mkdir -p build_hardfp
    cd build_hardfp
    cmake -DCMAKE_TOOLCHAIN_FILE=../arm-gnueabi.toolchain.cmake ../../..
  2. ビルドディレクトリ (<cmake_binary_dir>) で make を実行する:
    make
覚え書き
必要に応じて、install/strip の make ターゲットを使って、作成されたライブラリからシンボル情報を取り除くことができる。このオプションを使うとバイナリは小さくなる(半分のサイズになる)が、その後のデバッグが難しくなる。

ハードウェア最適化を有効にする

ターゲットプラットフォームのアーキテクチャに応じて、異なる命令セットを使用できる。デフォルトでは、コンパイラはVFPv3とNEON拡張を使わないarmv5l向けのコードを生成する。VFPv3向けのコード生成を有効にするにはcmakeのコマンドラインに -DENABLE_VFPV3=ON を、NEON SIMD拡張を使用するには -DENABLE_NEON=ON を追加する。

TBBはマルチコアのARM SoCでもサポートされている。有効にするには -DWITH_TBB=ON と -DBUILD_TBB=ON を追加する。cmakeスクリプトは公式プロジェクトサイト http://threadingbuildingblocks.org/ からTBBのソースをダウンロードしてビルドする。