Foundation > イメージ処理フィルター > IlvBitmapFilter:イメージ処理クラス > IlvComponentTransferFilter クラス
 
IlvComponentTransferFilter クラス
IlvComponentTransferFilter クラスを使うと、次のようにイメージでコンポーネントのリマップができます。
R' = feFuncR( R )
G' = feFuncG( G )
B' = feFuncB( B )
A' = feFuncA( A )
feFuncRfeFuncGfeFuncB、および feFuncA は、各コンポーネントの変換関数を定義します。
これにより、明るさ調整、コントラスト調整、色バランス、閾値などの処理が利用できます。
次の 5 つの変換関数が定義されています。
*同一:C' = C
*テーブル:関数はアトリビュート値によるルックアップ・テーブルへのリニア補間で定義されます。これは n 補間の値を求めるために、n+1 値 (すなわち v0 から vn) のリストを提供します。補間には、次の式を使います。
k/N <= C < (k+1)/N => C' = vk + (C - k/N)*N * (vk+1 - vk)
*離散:この関数は、アトリビュート値により定義されるステップ関数で定義され、これは n 手順から成るステップ関数を識別するために、n 値 (すなわち、v0 から vn-1) のリストを提供します。このステップ関数は、以下の式によって定義されます。
k/N <= C < (k+1)/N => C' = vk
*線形:この関数は、以下の一次方程式によって定義されます。
C' = slope * C + intercept
ここで、slope および intercept はユーザー定義です。
*ガンマ:この関数は、以下の指数関数によって定義されます。
C' = amplitude * pow(C, exponent) + offset
ここで、amplitudeexponentoffset はユーザー定義です。
変換関数はそれぞれのクラスを持ち、再定義が可能です (IlvTransferFunctionIlvIdentityTransferIlvLinearTransferIlvTableTransferIlvDiscreteTransferIlvGammaTransfer を参照してください)。

Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.