IPFilter
Product Manual
Create a Filter
フィルタを作成する

独自フィルタを作成する場合はIPFilterクラスを継承したクラスを作成します。 その中で以下のつのメソッドとコンストラクタ、インナークラスを定義します。

Filter FileDescription
filter()画像にフィルタ処理を行うメソッド。
getId()フィルタの識別子を返すメソッド。
getName()フィルタの名前を返すメソッド。
公開コンストラクタ公開コンストラクタ内でインナークラスであるコントロールパネルのオブジェクトを作成する。
getControlPanel()コントロールパネルのオブジェクトを返すメソッド。
setParameter()パラメタにコントロールパネルの値を設定するためのメソッド。
コントロールパネルクラスJPanelを継承したインナークラス。

詳しいやり方は既に定義されているフィルタクラスを見てください。

IPFilterクラスにはフィルタ処理で使用する基本的なメソッドが定義されています。

処理対象画像の取り込みや制御パラメタの値を取り込むためのメソッド、 画像情報の取得と更新を行うメソッド、色情報の取得と変換を行うメソッド、それ以外のメソッドに分かれています。

MethodDescription
preprocessing()フィルタ処理を行う前にフィルタの制御パラメタと処理対象画像を取得する。
callExternalFilter()フィルタ内から他のフィルタを呼び出す場合に使用する。
setProperty()画像のプロパティを設定する。
setAnimation()アニメーションで再描画するか、一括で再描画するかを指定する。
repaintComponent()再描画されるビューパネルを返す。
MethodDescription
width()イメージバッファの幅を返す。
height()イメージバッファの高さを返す。
loadPixels()送られてきたバッファが持つ画素値を格納した配列を返す。
updatePixels()IPFilterクラスが保持しているpixels配列の画素値を更新する。
pixels()画像の全画素値を保持しているpixels配列から特定の画素値を取得する。
buffer()フィルタ処理で使用しているバッファを返す。
updateBuffer()フィルタ処理で使用しているバッファを更新する。
repaint()ビューパネルを再描画する。
MethodDescription
red()指定した画素から赤色を取り出す。
green()指定した画素から緑色を取り出す。
blue()指定した画素から青色を取り出す。
cyan()指定した画素からシアンを取り出す。
magenta()指定した画素からマゼンタを取り出す。
yellow()指定した画素からイエローを取り出す。
black()指定した画素からクロを取り出す。
CMYKtoRGB()CMYKto空間の色をRGB空間の色に変換する。
y()指定した画素から輝度信号を取り出す。
cb()指定した画素から青色差分を取り出す。
cr()指定した画素から赤色差分を取り出す。
YCbCrtoRGB()YCbCr空間の色をRGB空間の色に変換する。
h()指定した画素から色相を取り出す。
s()指定した画素から彩度を取り出す。
b()指定した画素から明るさを取り出す。
HSBtoRGB()HSB空間の色をRGB空間の色に変換する。
color()赤、緑、青の値を指定することで色を32ビットのint型で返す。
blend()2つのチャネルを指定したブレンドモードで合成する。
normal()2つのチャネルを通常でブレンドする。
multiple()2つのチャネルを乗算でブレンドする。
screen()2つのチャネルをスクリーンでブレンドする。
overlay()2つのチャネルをオーバレイでブレンドする。
softlight()2つのチャネルをソフトライトでブレンドする。
hardlight()2つのチャネルをハードライトでブレンドする。
dodge()2つのチャネルを覆い焼きでブレンドする。
burn()2つのチャネルを焼き込みでブレンドする。
darken()2つのチャネルを比較(暗)でブレンドする。
lighten()2つのチャネルを比較(明)でブレンドする。
difference()2つのチャネルを差の絶対値でブレンドする。
exclusion()2つのチャネルを除外でブレンドする。
MethodDescription
scaling()最小値以下と最大値以上の値を最小値と最大値に置き換える。
contain()配列内に含まれている特定の数値の数を返す。
average()配列内の数値の平均を求める。
sum()配列内の数値の合計を求める。

各メソッドの引数と戻り値が知りたい場合はファイルを覗いてください。

フィルタ内部から定義済みのフィルタを呼び出して使用できます。 詳しいやり方はThinning(細線化)フィルタやExtractor(切り出し)フィルタのファイルを覗いてください。