LEADTOOLSライブラリ

フレームを表示

LEADTOOLS for .NETは、多数のクラス/メソッドをグレースケールイメージで機能するために提供します。これらのクラス/メソッドの多くは、どちらのグレースケールイメージまたはカラーイメージの上ででも機能します。しかし、LEADTOOLSクラス/メソッドのいくつかは、グレースケールイメージの用途に、特に設計されます:グレースケールimageを作成して、グレースケールimageに関する情報を取得することかウィンドウ-レベリング。

グレースケールイメージによる新規作成と操作中の

カラーイメージは、GrayscaleCommandクラスを用いてグレースケールimageに変換されることができます。GrayScaleExtendedCommandクラスも画像をグレースケールに変換しますが、グレースケール値を計算するときにR、G、Bの各成分に異なる「重み」を与えることで、グレースケールのピクセル値の計算を制御できます。

CreateGrayscaleメソッドは指定された指標を用いてゼロから新しいグレースケールRasterImageを作成して、結果として生じるimageのLOWとHIGHビットを制御するのにユーザーを見込みます。

LEADTOOLSには、画像をグレースケールに変換すると同時にカラー効果を加えるConvertToColoredGrayCommandクラスもあります。これは、「古風な」見た目でimageを作成します。8-、12-または16ビットグレースケールimageは、ColorizeGrayCommandを用いてカラー化されることもできます。

GrayScaleToDuotoneCommandクラスは、ピクセルの元の値を新しい色と混合するか、または新しい色に置換することによって、グレースケール画像をカラー画像に変換します。

GrayScaleToMultitoneCommandは、ピクセルの元の値を1色以上の新しい色と混合するか、または新しい色に置換することによって、グレースケール画像をカラー画像に変換します。

CreateAlphaImageメソッドは、imageのアルファチャネル情報から、グレースケールimageを作成します。

DesaturateCommandクラスは、各々のカラーの彩度をゼロに下げることによって、グレースケールレベルにimageを変換します。変換は、カラー解像度を変更しません。

ShiftDataCommandクラスは、8ビット、12ビットまたは16ビットのグレースケール画像から指定されたビット数をマスクに選択し、そのマスクを新に8ビット、12ビットまたは16ビットのグレースケール画像に置きます。SelectDataCommandコマンドは、8ビット、12ビットまたは16ビットのグレースケール画像から指定されたビット数を選択し、マスクに入れ、マスクに応じて色を付けます。これにより、ユーザーが定義した条件に従って画像の違いを表示できます。

ロードRaw 12-と16ビット拡張グレースケールイメージ(ドキュメント/Medicalのみ)

生の12-と16ビット拡張グレースケールimageをロードするために、それに応じてCodecs.InformationEventArgs.OrderプロパティRasterByteOrder.GrayCodecsLoadInformationEventArgs.LeastSignificantBitFirstプロパティに設定します。符合付き画像データについては、CodecsLoadInformationEventArgs.Signedプロパティをtrueに設定します。

グレースケールイメージに関する取得している情報

LEADTOOLSには、グレースケール画像に関する情報を取得するための関数があります。MinMaxBitsCommandクラスは、12ビットまたは16ビットのグレースケール画像に設定された最小ビットまたは最大ビットに関する情報を提供します。MinMaxValuesCommandクラスは、最小限と最大の明度値を12または16ビットグレースケールimageに存在するようにします。12と16ビットグレースケールイメージのサポートがDocument/Medicalツールキットで利用できるだけである点に注意してください。12-または16ビットグレースケールimageの完了したヒストグラムを取得するために、HistogramCommandを使います。

image (もしあれば)と関連したグレースケールパレットの種類を決定するために、GrayscaleModeを使います。

ウィンドウ-レベリング(Medicalのみ)

ウィンドウ-レベリングは12-と16ビットグレースケールイメージに有効で、ビット範囲やユーザー定義のカラーマップを指定することによってグレースケール強度をマップするのに用いられるだけです。2つのクラス/メソッドは、ウィンドウ-レベリングに対して用意されています。WindowLevelは「オンデマンドで」描画のためのウィンドウ-レベリングが機能して、imageを変えないと定めます、そして、WindowLevelCommandはウィンドウレベル調整を行った8-または24-ビットRGB imageにimageを変換します。ビット範囲はLowBitHighBitを通してメソッドに渡されます、そして、ユーザー定義のカラーマップはLookupTableを通して渡されます。ビット範囲とカラーマップを準備するのを助けるために、MinMaxBitsCommandMinMaxValuesCommandを使います。MinMaxBitsCommandは、値の最小限と最大のビットを12-または16ビットグレースケールimageに存在するようにします。MinMaxValuesCommandは、imageの最小限と最大の明度値を取得します。WindowLevelFillLookupTableは、指定された値に基づくカラーグラデーションで、ユーザーを割り当てられたLookupTable(LUT)を塗りつぶします。

LEADTOOLSは、10-16ビットグレースケールイメージ(8ビットLUTと16ビットLUT)のために、2種類のLUTをサポートします。一般的なグレースケール画像表示と処理は、8ビットLUTを用いてされます。ただし、16ビットLUTを使用して精度を高めることも可能です。若干の特別なビデオカードとモニターも、16ビットLUTを用いてグレースケールイメージの表示をサポートします。

WindowLevelCommandクラスで適用されるウィンドウ-レベリングは、画像データを変更することなく、TIFまたはDICOM形式に保存されることができます。詳細については、「Windowsレベル調整画像の保存」を参照してください。

拡張グレースケールマスクを用いて

DocumentとMedicalツールキットにおいて、pBitmapが12-または16ビットグレースケールビットマップであるならば、COLORREF値は16ビットグレースケール値を表すことができます。RGB値の混同を避けるために、COLORREF_GRAY16マスク(0x04000000)を設定します。本例(0x0400YYYY)では、COLORREF値の低い16ビット(0xYYYY)は、16ビットグレースケール値を表します。(0x0400FFFFは16ビット白です、そして、0x04000000は16ビット黒です。)これは、標準的なWindows値でありません。したがって、LEADTOOLS関数はこの形式があるCOLORREFを認めます、しかし、Windows関数はそうしません。以下のように非LEADTOOLS関数でこの型のCOLORREF値を使うことができます:

const uint COLORREF_GRAY16 = 0x04000000; RasterColor color = image.GetPixelColor(x, y); uint val = color.ColorRef; if ((val & COLORREF_GRAY16) != 0) { // nonstandard colorref value, convert it to a windows COLORREF // get an 8-bit gray value corresponding to the 16-bit gray value byte gray = (byte)((val & 0xFFFF) >> 8); // get a new RasterColor color = new RasterColor(gray, gray, gray); }

カラーハーフトーンとハーフトーン画像

LEADTOOLSは多数のコマンドをカラーイメージで機能して、変更するために提供するので、ハーフトーン処理技術を用いてプリントにふさわしいです。これらのコマンドの詳細については、「カラーハーフトーンとハーフトーン画像」を参照してください。