IlvConvolutionFilter クラス
IlvConvolutionFilter クラスを使用すると、マトリックス畳み込みフィルター効果を適用できます。畳み込みは、入力イメージのピクセルを隣接するピクセルと結合して、新しいイメージを作ります。畳み込みを通じて、ぼかし、エッジ検出、シャープ化、エンボス効果、面取りなど、さまざまな処理をイメージに施すことができます。
畳み込み行列は、n x m の行列 (畳み込みカーネル) に基づき、入力イメージの任意のピクセル値が、隣接するピクセル値とどのように結合して新しいピクセル値を生成しているのかを示します。結果としてできるピクセルは、カーネル・マトリックスを対応するソース・ピクセルおよび隣接するピクセルに適用して決定されます。
これを説明するために、次のような色値を持つ 5 x 5 ピクセルの入力イメージがあると想定します。
0 20 40 235 235
100 120 140 235 235
200 220 240 235 235
225 225 255 255 255
225 225 255 255 255
また、3 x 3 畳み込みカーネルを次のように定義するとします。
1 2 3
4 5 6
7 8 9
イメージの 2 行目および 2 列目のピクセルに注目してみましょう (ソース・ピクセル値は 120)。新しいピクセル値は、次のようになります。
(1* 0 + 2* 20 + 3* 40 +
4*100 + 5*120 + 6*140 +
7*200 + 8*220 + 9*240) / (1+2+3+4+5+6+7+8+9)
除数 (マトリックス畳み込みを除算した結果) およびバイアス (マトリックス畳み込みを加算した結果) を指定することができます。
カーネルは、
IlvBitmapDataKernel クラスで定義されています。
Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.