Jetson TX2環境でのOpenCVビルド

atinfinity edited this page Aug 11, 2017 · 6 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 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 install libatlas-base-dev
sudo apt-get 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

Home


Menu

Computer Vision

GPGPU

AR

ROS

Jetson

ARM

プログラミング言語

開発環境

勉強会

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.