September 29, 2001: 作成
December 5, 2001: Sobel Filter のアルゴリズム修正
PNG,JPEG,GIF の各画像にフィルタ処理を施し、
エッジ検出処理がなされた画像を得ることができる
JavaBeans コンポーネントです。
使用可能なフィルタは以下の通りです。
#現状として少ない。。。
FilterBean を用いる為の準備は以下の通りです。
set CLASSPATH=.:%CLASSPATH%:/(置いた場所)/filterbean.jar
または java -cp /(置いた場所)/filterbean.jar (クラス名)
new net.washizaki.filter.FilterBean(); として
オブジェクトを生成します。
または、import net.washizaki.filter.FilterBean; としておく方が
記述量が減って楽です :-)
まず、filename プロパティに画像ファイル名を設定して、 次に、閾値を threshold プロパティに設定します。 そして、行いたいフィルタ処理メソッドを実行し、 最後にフィルタ処理後の画像を createdImage プロパティとして得ます。
FilterBean filter = new FilterBean();
filter.setFilename("test.gif");
filter.setThreshold(100);
filter.processSobelRgbFilter();
Image image = filter.getCreatedImage();
せっかく JavaBeans コンポーネントなんですから、 ここはひとつ、開発ツール上でビジュアルに使ってみましょう。 以下の例では、開発ツールとして BeanBox (BDK: JavaBeans Development Kit) を利用します。
(実は、うまくまだ使えません。。。)
プロパティ:
| プロパティ名 | 型 | 初期値 | 概要 |
| filename | java.lang.String | "" | 処理対象の画像ファイル |
| threshold | double | 0.0 | エッジ抽出時の閾値 |
メソッド:
| メソッド名 | 構造 | 概要 |
| copyImage | void copyImage() | 処理対象をコピー |
| processRedFilter | void processRedFilter() | |
| processBlueFilter | void processBlueFilter() | |
| processGreenFilter | void processGreenFilter() | |
| processLaplacianRgbFilter | void processLaplacianRgbFilter() | |
| processLaplacianHsbFilter | void processLaplacianHsbFilter() | |
| processSobelRgbFilter | void processSobelRgbFilter() | |
| processSobelHsbFilter | void processSobelHsbFilter() |
イベント: (無し)