LTI-Lib で遊んでみる

LTI-Lib とは

画像処理や行列計算のためのライブラリ。バージョンは 1.9 系と 2.0 系が存在していて、ライセンスが 1.9 系は GNU LGPL 、 2.0 系は修正 BSD ライセンスを採用しています。

1.9 系のチュートリアルが広島大の玉木准教授が公開されております。

以下、触りだけメモ。 2.0 系。

画像の読み書き

#include <ltiIOImage.h>
#include <ltiImage.h>

int main(int argc, char* argv[]){
  lti::image img;
  lti::ioImage io;

  io.load("./lenna.png", img);
  // 何かの処理
  io.save("./output.png", img);

  return 0;
}

ビューアの利用

#include <ltiIOImage.h>
#include <ltiImage.h>
#include <ltiViewer2D.h>

int main(int argc, char* argv[]){
  lti::ioImage io;

  lti::image img;
  io.load("./lenna.png", img);
  
  lti::viewer2D viewer("lenna"); // title: "lenna"
  viewer.show(img);
  
  lti::viewer2D::interaction action;
  lti::ipoint pos;
  viewer.waitButtonPressed(action, pos);

  return 0;
}

画像について

#include <ltiIOImage.h>
#include <ltiImage.h>

int main(int argc, char* argv[]){
  lti::ioImage io;

  lti::image img;
  io.load("./lenna.png", img);

  // size.x = columns = width
  // size.y = rows    = height
  lti::ipoint size = img.size();

  // 左上原点で行列化されている
  // 行列の要素へのアクセスは matrix.at(row, column)
  img.at(0, size.x-1).setRed(0xff); // 右上

  return 0;
}