LEADTOOLS画像処理(Leadtools.ImageProcessing.Colorアセンブリ)

フレームを表示

ApplyMathematicalLogicCommandFlags列挙体








使われるチャネルを識別する列挙体フラグ、入力ピクセル値の取り扱い、数値演算と出力画素値の取り扱い。
構文
[FlagsAttribute()]
public enum ApplyMathematicalLogicCommandFlags : System.Enum, System.IComparable, System.IConvertible, System.IFormattable  
'Declaration
 
<FlagsAttribute()>
Public Enum ApplyMathematicalLogicCommandFlags 
   Inherits System.Enum
   Implements System.IComparable, System.IConvertible, System.IFormattable 
'Usage
 
Dim instance As ApplyMathematicalLogicCommandFlags
[FlagsAttribute()]
public enum ApplyMathematicalLogicCommandFlags : System.IComparable, System.IConvertible, System.IFormattable  
typedef NS_OPTIONS(NSUInteger, LTApplyMathematicalLogicCommandFlags)
public enum ApplyMathematicalLogicCommandFlags
Leadtools.ImageProcessing.Color.ApplyMathematicalLogicCommandFlags = function() { };
Leadtools.ImageProcessing.Color.ApplyMathematicalLogicCommandFlags.prototype = {<br/>
  Master = 0x00000000,
	ValueDoNothing = 0x00000000,
	OperationAnd = 0x00000000,
	ResultDoNothing = 0x00000000,
	Red = 0x00000001,
	Green = 0x00000002,
	Blue = 0x00000003,
	ValueNot = 0x00000010,
	ValueZero = 0x00000020,
	ValueOne = 0x00000030,
	OperationOr = 0x00000100,
	OperationXor = 0x00000200,
	OperationAdd = 0x00000300,
	OperationSubtractFactor = 0x00000400,
	OperationSubtractValue = 0x00000500,
	OperationAbsoluteDifference = 0x00000600,
	OperationMultiply = 0x00000700,
	OperationDivisionByFactor = 0x00000800,
	OperationDivisionByValue = 0x00000900,
	OperationAverage = 0x00000A00,
	OperationMinimum = 0x00000B00,
	OperationMaximum = 0x00000C00,
	ResultNot = 0x00001000,
	ResultZero = 0x00002000,
	ResultOne = 0x00003000,
	
 };
[FlagsAttribute()]
public enum class ApplyMathematicalLogicCommandFlags : public System.Enum, System.IComparable, System.IConvertible, System.IFormattable  
メンバ
メンバ説明
0 x 00000000Master オールチャネル。
0 x 00000000ValueDoNothing 変更はありません。
0 x 00000000OperationAnd ビットAND(&)を用いて、各々のピクセルコンポーネント値と係数プロパティを結合します。(ピクセル=ピクセル&要因)
0 x 00000000ResultDoNothing 変更はありません。
0 x 00000001Red Redチャネルだけ。
0 x 00000002Green 緑チャネルのみ。
0 x 00000003Blue 青チャネルだけ。
0 x 00000010ValueNot 色を反転し、その結果、補完となります。
0 x 00000020ValueZero 0まですべてのビットを変更します。
0 x 00000030ValueOne 1にすべてのビットを変更します。
0 x 00000100OperationOr ビットごとのOR(|)を用いて、各々のピクセルコンポーネント値と係数プロパティを結合します。(ピクセル=ピクセル | 要因)
0 x 00000200OperationXor ビットごとのXOR(^)を用いて、各々のピクセルコンポーネント値と係数プロパティを結合します。(ピクセル=ピクセル^要因)
0 x 00000300OperationAdd 結果を最大許可するピクセル値に固定して、係数プロパティにピクセルコンポーネント値を追加します。(ピクセル=分(ピクセル+要因、MaximumPixelValue))
0 x 00000400OperationSubtractFactor 結果を許可するピクセル範囲に固定して、係数プロパティから各々のピクセルコンポーネント値を減算します。(ピクセル=分(max(要因 ― ピクセル(MinimumPixelValue))、MaximumPixelValue))
0 x 00000500OperationSubtractValue 結果を許可するピクセル範囲に固定して、各々のピクセルコンポーネント値から係数プロパティを減算します。(ピクセル=分(max(ピクセル ― 要因)、MinimumPixelValue(MaximumPixelValue)))
0 x 00000600OperationAbsoluteDifference 係数プロパティと各々のピクセルコンポーネント値の間で絶対差を計算します。(ピクセル=腹筋(ピクセル ― 要因))
0 x 00000700OperationMultiply 各ピクセルの色成分値をFactor/100倍します。(ピクセル=ピクセル*要因/100)
0 x 00000800OperationDivisionByFactor 各々のピクセルコンポーネント値を要因/100で割ります。エラーは、要因= 0ならば返されます。(ピクセル=ピクセル* 100/要因)
0 x 00000900OperationDivisionByValue 係数プロパティを各々のピクセル値で割ります。ピクセル値が0であるならば、結果は最大許可するピクセル値に設定されます。(ピクセル=ピクセル?min(要因/ピクセル、MaximumPixelValue):MaximumPixelValue)
0 x 00000A00OperationAverage 各々のピクセルコンポーネント値と係数プロパティの平均を使います。(ピクセル=(pixel+Factor)/2)。
0 x 00000B00OperationMinimum ピクセルコンポーネント値と係数プロパティのうちの小さい方を使います。(ピクセル=分(ピクセル、要因))
0 x 00000C00OperationMaximum ピクセルコンポーネント値と係数プロパティでより大きなものを使います。(ピクセル= max(ピクセル、要因))
0 x 00001000ResultNot 色を反転し、その結果、補完となります。
0 x 00002000ResultZero 0まですべてのビットを変更します。
0 x 00003000ResultOne 1にすべてのビットを変更します。
解説
これらのフラグは、そのメンバ値のビットごとの組合せを許可するFlagsAttribute属性を持っています。

各々のグループから1つのフラグを指定するために、ビットごとのOR(|)を使うことができます。

グループ Flags
使われるチャネルを示すFlags Master、Red、Green、Blue
色値を扱う方法を示すFlags ValueDoNothing、ValueNot、ValueZero、ValueOne
使用に数値演算を示すFlags OperationAnd、ValueNot、ValueZero、ValueOne、OperationAnd、OperationOr、OperationXor、OperationAdd、OperationSubtractFactor、OperationSubtractValue、OperationAbsoluteDifference、OperationMultiply、OperationDivisionByFactor、OperationDivisionByValue、OperationAverage、OperationMinimum、OperationMaximum
出力値を扱う方法を示すFlags ResultDoNothing、ResultNot、ResultZero、ResultOne

*マスターチャネル値を計算すること

LEADTOOLSで広く使われている画像処理フィルタの速度を上げるために、カラー画像のグレースケール値(マスターチャネル)は、以下の手法を用いて計算されます:

             #define CalcGrayValue(r, g, b) ((L_UCHAR)(((L_UCHAR) (((2 * (L_UINT) (r)) + (5 * (L_UINT) (g)) + (L_UINT) (b) + 4) / 8))))
             #define CalcGrayValue16(r, g, b) ((L_UINT16) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8))
             #define CalcGrayValue32(r, g, b) ((L_UINT32) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8))
             
継承階層

System.Object
   System.ValueType
      System.Enum
         Leadtools.ImageProcessing.Color.ApplyMathematicalLogicCommandFlags

必要条件

ターゲットプラットホーム

参照

参照

Leadtools.ImageProcessing.Color名前空間