トップへ
田村研究室

田村研画像処理ライブラリ

基本的な画像処理ライブラリとその使い方

2009
4/29

田村研画像処理ライブラリについて

田村研の画像処理ライブラリ

Javaで記述した画像処理用のライブラリです.現在学内だけに公開しています.

使用方法

Eclipseを用いている場合には,本ライブラリ(tamura-lab.jar)をビルドパスに追加してください.プロジェクトのプロパティにおいて

Javaのビルド・パス→ライブラリー→外部JARの追加

コマンドラインから実行する場合には,次のように本ライブラリを追加して実行してください.

ビルド: javac 自分のプログラム -classpath /パス/tamura-lab.jar
実行:   java -cp $CLASSPATH:/パス/tamura-lab.jar 自分のプログラム
						

ライブラリの構成

ライブラリは,大きく次のクラスから構成されています.

  • IPLクラス: staticな画像処理メソッドをまとめたもの
  • ImageBaseクラス: 画像オブジェクトの共通基本部分をまとめたもの
  • RGBImageなどの画像クラス: 色をRGBで表現した画像オブジェクトのためのクラス,ImageBaseのサブクラス,その他にもGrayImage,HSBImage,CIELabImageなど表色系別のサブクラスがある.

プログラム内での記述方法

自分で作成したJavaプログラムで本ライブラリを使用するには,自分のJavaプログラムのソースコード中に次の記述をしてください.

まず最初にライブラリをインポートします.

import jp.ac.nit.tamura_lab.ImageProcessing.*;

ライブラリに含まれる機能は,IPLクラス内に画像処理のためのメソッドがありますので,次のように呼び出して利用してください.

IPL.メソッド名(入力画像オブジェクト,出力画像オブジェクト); 

処理対象となる画像オブジェクトは,RGBImageなどの表色系別に用意されたクラスから生成してください.

RGBImage image1 = new RGBImage(640,480); //640x480画素のRGB画像

これらを用いて,例えば次のように処理をしてください.

import jp.ac.nit.tamura_lab.ImageProcessing.*;
public class Sample
{
  public static void main(String[] args)
  {
    /* まず画像オブジェクトを生成 */
    RGBImage i1 = new RGBImage("test.jpg"); //test.jpgを読み込み
    RGBImage i2 = new RGBImage(640,480);    //空のRGB画像を用意
    GrayImage i3 = new GrayImage(640,480);  //空のグレー画像

    /* 画像オブジェクト同志で処理作業 */
    IPL.filterSobel(i1, i3);  //i1の輪郭線を抽出,i3へ格納
    IPL.addImage(i1,i3,i2); //i1+i3の結果をi2へ格納
  }
}

また,画像処理機能はIPLだけではなく,各画像オブジェクト内のメソッドにもあります.画像オブジェクトのメソッドは,基本的にそのオブジェクトを直接書き換えるためのものです.必要な機能を探すときに留意してください.

ライブラリを使用したサンプルプログラム

画像をウィンドウ表示するなど,入出力も含めたサンプルプログラムは次を参照してください.

ライセンス

本ソフトウェアは,いわゆる修正BSDライセンス(広告条項なし)とします.

ライブラリを使った画像処理例

このライブラリを使用すると,次のようなプログラムが簡単にかけます.

2009
4/29

ライブラリの機能一覧(JavaDoc)

API

画像処理ライブラリのマニュアルは現在ありませんが,配布されているソースコードから,JavaDocを使用してマニュアルページを生成することができます.生成した例を下記リンクに示します.

JavaDocの検索

生成されたマニュアルページに対する検索が下記からできます.Namazuを使用しているため

キーワード*

のように検索してください.

  • API検索(学内専用)

API検索のヒント

探している機能を次のように捜し出してください.

  1. IPLの中から,探す.
  2. ImageBaseの中から,探す.
  3. 各画像クラス(RGBImage,YUVImage,HSBImage,CIELabImage, CIELChImage, BinaryImage, GrayImage, ExGrayImage)の中から,探す.