Skip to content

Jetson TX2環境でのOpenCVビルド

atinfinity edited this page Sep 19, 2021 · 8 revisions

Jetson TX2環境でのOpenCVビルド


OpenCV 3.3

パッケージのインストール

apt-getコマンドを用いて各種パッケージをインストールする

開発ツール

sudo apt-get -yV install cmake
sudo apt-get -yV install libeigen3-dev

GUIフレームワーク関連

sudo apt-get -yV install libgtk-3-dev
sudo apt-get -yV install qt5-default
sudo apt-get -yV install freeglut3-dev
sudo apt-get -yV install libvtk6-qt-dev

並列処理関連

sudo apt-get -yV install libtbb-dev

画像フォーマット関連

sudo apt-get -yV install libjpeg-dev
sudo apt-get -yV install libjasper-dev
sudo apt-get -yV install libpng++-dev
sudo apt-get -yV install libtiff-dev
sudo apt-get -yV install libopenexr-dev
sudo apt-get -yV install libwebp-dev

動画像関連

sudo apt-get -yV install libavcodec-dev
sudo apt-get -yV install libavformat-dev
sudo apt-get -yV install libavutil-dev
sudo apt-get -yV install libswscale-dev
sudo apt-get -yV install libavresample-dev

その他

sudo apt-get -yV install libhdf5-dev

Python関連

sudo apt-get -yV install libpython2.7-dev
sudo apt-get -yV install libpython3.5-dev
sudo apt-get -yV install python-numpy python-scipy python-matplotlib
sudo apt-get -yV install python3-numpy python3-scipy python3-matplotlib

備考

OpenCV 3.2から追加されたWITH_LAPACKを有効し,LAPACK implementationとしてOpenBLASを使う場合は以下のパッケージをインストールする必要があります(LAPACK implementationとしてATLASも利用できるようです).

OpenBLASを使う場合は以下の手順でパッケージをインストールできます。

sudo apt-get -yV install libopenblas-dev
sudo apt-get -yV install liblapacke-dev

また,ATLASを使う場合は以下の手順でパッケージをインストールできます。

sudo apt-get -yV install libatlas-base-dev
sudo apt-get -yV install liblapacke-dev

OpenCVのインストール

ソースの入手

https://github.com/opencv/opencv/releases/tag/3.3.0からopencv-3.3.0.tar.gzを入手して展開する

tar xfvz opencv-3.3.0.tar.gz

CMakeの実行

https://gist.github.com/atinfinity/e049ba0d4f0e85ad36b06d08602d346cを参考にCMakeを実行してMakefileを生成する

ビルド

make -j6

インストール

sudo make install

ldconfigの実行

sudo ldconfig

動作確認

サンプルプログラム

#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>

int main(int argc, const char* argv[])
{
  // 画像データをファイルから読み込む
  cv::Mat src = cv::imread("lena.jpg", cv::IMREAD_COLOR);

  // 画像の読み込みに失敗したらエラー終了する
  if(src.empty())
  {
    std::cerr << "Failed to open image file." << std::endl;
    return -1; 
  }

  cv::namedWindow("image", cv::WINDOW_AUTOSIZE);
  cv::imshow("image", src);
  cv::waitKey(0);
  cv::destroyAllWindows();

  return 0;
}

サンプルプログラムのコンパイル

g++ test.cpp -I/usr/local/include/opencv2 -I/usr/local/include/opencv -L/usr/local/lib -lopencv_core -lopencv_imgcodecs -lopencv_highgui


Menu

Computer Vision

GPGPU

AR

ROS

Docker

Jetson

ARM

プログラミング言語

開発環境

勉強会

Clone this wiki locally