色差によるイラスト画像変換
フィルタの概要
画像のエッジを保存しつつ,画像を絵画風に加工し、エッジを強調する方法として,エッジ部分への墨入れを行う.
画像生成例
元画像img05.jpg:パラメータ[5,4,20,70,-3.4,no,blend] + 色差エッジ
フィルタの説明
Akimoto Filtered SP
本フィルタには,フィルタ係数のセッティング用ダイアログウィンドウが付いている.各設定について以下で解説する.
band init フィルタの幅の初期値を設定する.
band step フィルタの幅の増減を設定する.
band loop フィルタの幅を増減させる回数を設定する.
range init 加工対象とする色差の基準の初期値を設定する.
range step 色差の基準の増減を設定する.
useMedian フィルタリングの前処理として,メディアンフィルタを使うかどうかを設定する.
Blend/Fill チェックした場合は,画素値の処理に標本とする色と元の色の合成を行なう.
しなければ,元の色を標本色で塗りつぶす.
OK 設定が完了したら押す.
(このボタンを押さない限り,本フィルタが処理を続ける事はない.)
Akimoto Edge Filter
以下で本フィルタ用の係数セッティング用ダイアログで設定する項目について解説する.
White Paint このチェックを入れるとエッジ以外のところを白で塗りつぶします.
Border エッジとなる色差の基準値を設定する.目安としては500〜1000ぐらい(画像によって適当な値を選択).
OK 設定が完了したら押す.
(このボタンを押さない限り,本フィルタが処理を続ける事はない.)
本フィルタは現在表示されている画像に対して加工を施すものである.つまり,他のフィルタで加工した画像の上から エッジを強調することが可能である.
色差について
色差とは,色の違いを数値で表したものである.
色差を色相距離ということもあり,色相におけるある色と他の色との定量的な差を表している.
色差を計算するには各色のL(明度)ab(色相)の各成分の差の二乗和を求めればよい. 以下に色差の表を示す.
この表は,Lの範囲を[ 0-100 ]として計算した場合である.
本アプレットではLの範囲を[ 0-255 ]として計算しているので,多少値に違いが生じる.
表:色差の表現[
このページから引用
]
Textile Terms
感覚的表現
NBS単位
trace
わずかな色差
0〜0.5
alight
わずかな色差
0.5〜1.5
noticeable
感知し得る色差
1.5〜3.0
appreciable
目立つほどの色差
3.0〜6.0
much
大きな色差
6.0〜12.0
very much
多大な色差
12.0以上
色差を利用してエッジを保存する絵画調フィルタ
カラー画像におけるエッジとは,色の違いに起因するものである.
そこで,ある画像の任意の領域内において,適正な判断のもとで近いと認められる 色のみを加工(主に平滑化)することで,もとの画像の特徴を正確に残すことができる.
ここで,適正な判断の基準として色差を用いた.
色差を利用したエッジ強調フィルタ
色差情報を利用することで,色の境界を色差の激しい変化として識別することができる. このことを利用して色差情報から画像の色を考慮してエッジ情報を抽出することができる.
プログラム
ソースファイル
メインフィルタ
FilterMineSP.java
メインフィルタ用設定ダイアログ
SettingPanel.java
エッジ検出用フィルタ
FilterMineEdge.java
注:上のソースのみをコンパイルしても機能拡張した"
AnimatedImage.java
"を使用しないと使えない.
参考
色差について
色計算
RGBとYCrCbの変換
RGBとYCrCbの変換(明度と色差)