田村研画像処理ライブラリについて
田村研の画像処理ライブラリ
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ライセンス(広告条項なし)とします.
ライブラリを使った画像処理例
このライブラリを使用すると,次のようなプログラムが簡単にかけます.
ライブラリの機能一覧(JavaDoc)
API
画像処理ライブラリのマニュアルは現在ありませんが,配布されているソースコードから,JavaDocを使用してマニュアルページを生成することができます.生成した例を下記リンクに示します.
JavaDocの検索
生成されたマニュアルページに対する検索が下記からできます.Namazuを使用しているため
キーワード*
のように検索してください.
API検索のヒント
探している機能を次のように捜し出してください.
- IPLの中から,探す.
- ImageBaseの中から,探す.
- 各画像クラス(RGBImage,YUVImage,HSBImage,CIELabImage, CIELChImage, BinaryImage, GrayImage, ExGrayImage)の中から,探す.