LEADTOOLSライブラリ

フレームを表示

大部分のimage処理方法はメモリ内のimageに作用します。そして、それはファイルでimageを保存するとき、変化が永久になることを意味します。たとえばロードされてそのままにデータを処理するとき、若干の低レベルのメソッドは管理するバッファに作用します。

データフォーマットを変更すること

カラー解像度(ピクセル当たりビット)を変更することができるか、多数のハイレベルと低レベルのメソッドとクラスを用いたimage(セグメンテーション目的のために)のカラーを減らすことができます。これらのメソッドとクラスは、以下の通りです:

Windowsは常にRGBカラースペースモデルを使います、そして、ファイルをロードまたは保存するとき、必要に応じて、LEADTOOLSはRGB、へ、あるいは、から、画像データを変換します。それでも、LEADTOOLSはメソッドを他のカラースペースモデルに提供します。RGB、CMYK、CMY、HSVとHLSを含む多数のカラースペースモデルを用いた色分解を作成して、結合するために、高水準ColorSeparateCommandColorMergeCommandクラスを使用することができます。1つのカラースペースモデルからRGB、YUV、CMYK、CMY、YIQ、HSVとHLSを含むもう一つまでバッファで生データを変換するために、低レベルのRasterColorSpaceクラスを使用することもできます。

LEADTOOLSがBGRにデータを変換することなくロードTIFF CMYKファイルもサポートする点に注意します。そのためには、LoadCmykPlanesを使用してCMYKの各プレーンをimageに別々のページとしてロードします。TIFF CMYKとしてプレーンを保存するために、SaveCmykPlanesを呼び出します。詳細については、「別々の画像としてCMYKファイルを処理」を参照してください。

詳細については、「概要とディザ処理メソッド」を参照してください。

幾何学変形の実行

幾何学的な変換は、imageの大きさを変更するか、トリムするか、回転させるか、傾斜させるか、上下に反転するか、翻すことを含みます。若干の幾何学的な変換メソッドは、ドキュメントイメージングのために主に設計されます。たとえば、DeskewCommandは自動的にスキャンされたドキュメントをまっすぐにさせます。どんなimageの大きさを変更するためにでも、SizeCommandクラスは最も最新のオプションを提供します、しかし、選択肢と低レベルのメソッドも役に立つとわかるかもしれません。

LEADTOOLSは、変換メソッドも無損失性フリップ、回転と逆転を実行するために提供します。しかし、特定のファイルフォーマットだけは、この時にサポートされます。このメソッドでは、画像をロードしてRotateCommandまたはFlipCommand を使用して変換し保存し直すよりも、良い結果が得られます。ファイルを処理し、ファイル内のアップデートされたマーカーを書き込む際にCodecsTransformMarkerCallbackコールバックを使用します。詳細については、「変換とCodecsTransformMarkerCallbackコールバック」を参照してください。

以下は、幾何学的な変換をするために使われることができるメソッドのリストです:

ハイレベルは、選択肢の大きさを変更します:

ResizeCommandクラス、そして、

SizeCommandクラス

選択肢をトリムしているハイレベル:

AutoCropCommandクラス、

AutoCropRectangleCommandクラス、そして、

CropCommandクラス

他の高水準変換クラス:

BendCommandクラス、

ChangeViewPerspectiveCommandクラス、

CylinderCommandクラス、

DeskewCommandクラス、

FlipCommandクラス、

FreeHandShearCommandクラス、

FreeHandWaveCommandクラス、

FreePlaneBendCommandクラス、

FreeRadialBendCommandクラス、

ImpressionistCommandクラス、

PlaneBendCommandクラス、

PlaneCommandクラス、

PolarCommandクラス、

PunchCommandクラス、

RadialBlurCommandクラス、

RadialWaveCommandクラス、

RippleCommandクラス、

RotateCommandクラス、

RotateViewPerspectiveメソッド、

ShearCommandクラス、

SphereCommandクラス、

SwirlCommandクラス、

RasterCodecs.Transformメソッド、

TunnelCommandクラス、

WaveCommandクラス、

WindCommandクラス、

ZoomBlurCommandクラス、そして、

ZoomWaveCommandクラス

低レベルの大きさを変更しているメソッド:

ResizeBufferメソッド、

Startメソッド、そして、

Stopメソッド

imageがより大きくなるメモリの割り当てに関して詳しくは、考慮点の大きさを変更することを参照します。

傾き補正

LEADTOOLSは、スキャンされたドキュメントを自動的にまっすぐにすることができる以下のコマンドクラスを提供します:

詳細については、「傾き補正」を参照してください。

照明、黒化、フィルタリングなど

多数のimage処理方法は、いろいろなアルゴリズムとフィルタを用いたimage(またはimageのリージョン)全体でピクセルの値を変更させました。imageの外観を改善するか、imageで詳細を分析するか、アートエフェクトを適用するためにこうするかもしれません。以下のトピックは、詳細を提供します:

明度とコントラストの変更

ノイズを削除すること

エッジとラインの抽出と拡大

アートエフェクトの適用

色の補正

imageにもう一つのimageを追加すること

CombineCommandクラスを使用すると、ターゲットの画像に別の画像(またはその一部)を合成できます。新しいピクセルが単に古いものを置換するか、特定の方向で古いものと結合されるかどうか制御するために、フラグを渡すことができます。イメージのどちらでもまたは両方ともでリージョンを定義することもできます、そして、そうするならば、クラスはリージョンの交差点だけに影響を及ぼします。CombineCommandクラスは、ユーザーを様々なピクセル当たりビットのイメージを結合して、イメージを結合するとき、どのカラープレーンを使うべきかについて指定させることによって、CombineFastCommandクラス能力を拡張します。

ソースとデスティネーションイメージは、デスティネーションimageの一部にソースimageの全部または一部をゆがませることによって結合されるかもしれません。このようにイメージを結合するために、CombineWarpCommandクラスを使用します。

Underlayメソッドはイメージも結合します、しかし、それにはずっと特定の目的があります。人が他のための基となるテクスチャーであるように見えるように、それは2つのイメージを結合します。

LEADTOOLSは、2つのクラスをimageをピクチャライズするために提供します。PicturizeListCommandは、リストに存在するイメージを結合することによって新しいimageを作成して、imageを置換します。PicturizeSingleCommandクラスは、単一のimageのいろいろなバージョンを用いたimageをピクチャライズします。

2つのイメージは、イメージを不透明度値と結合することによって、混合されることもできます。AlphaBlendCommandクラスは、新しい混合されたimageを作成するために、2つのイメージを固定不透明度値と結合します。FeatherAlphaBlendCommandクラスは、フェーディングマスクに依存する様々な不透明度を用いて、2つのイメージをフェザリングと結合します。フェーディングマスク画像は、FadedMaskCommandクラスを使用して作成されることができます。

BumpMapCommandクラスは、3次元テクスチャーパターンを作成するためにimageをバンプ画像と結合させます。

多数の他のメソッドは、取得して、画素データを置かせました。たとえば、imageをカラーで満たすことができます、そして、取得することができて、個々のピクセル値を置くことができます。これらは、以下の通りです:

高レベルなメソッドとクラス:

ClearCommandクラスClearNegativePixelsCommandクラスColorReplaceCommandクラスColorThresholdCommandクラスConvertSignedToUnsignedCommandクラスFillCommandクラスRemoveRedeyeCommandクラス

低レベルの:

GetPixelColorメソッドGetPixelDataメソッドGetRowColumnメソッドGetRowメソッドLineProfileCommandクラスSetPixelColorメソッドSetPixelDataメソッドSetRowメソッドSetRowColumnメソッド

imageをデバイスコンテキストとみなすことは、多くの可能性を開きます。デバイスコンテキストはCreateLeadDCメソッドを使用して取得できます。imageの上で行、テキストまたはイメージを描画するために、Windows GDIメソッドをその後使うことができます。あるいは、Leadtools.Drawing.RasterImageGdiPlusGraphicsContainerメソッドを用いて描画するために、GDI+図形オブジェクトを作成することができます。

TheTextureAlphaBlendCommandクラスは、underlayエフェクトでマスク画像とベース画像から画像データを結合します。結果が、ソースとデスティネーションイメージを様々な不透明度と結合するのに用いられるフェーディングマスクとして使われます。その結果を、一定の不透明度を使用してデスティネーション画像にもう一度合成します。

DigitalSubtractCommandクラスはイメージを結合しないで、2つのイメージの違いを示すために、マスク(ソース)imageから、リアルタイムの(デスティネーション)imageを減算します。

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

ウィンドウ-レベリングは12と16ビットグレースケールイメージに有効で、ビット範囲やユーザー定義のカラーマップを指定することによってグレースケール強度をマップするのに用いられるだけです。2つのメソッドは、ウィンドウ-レベリングに対して用意されています。WindowLevelは「オンデマンドで」ウィンドウ-レベリングを描画メソッドに提供して、imageを変えません、そして、WindowLevelはウィンドウレベル調整された8または24ビットRGB imageにimageを変換します。ビット範囲はnLowBitとnHighBitパラメータを通してメソッドに渡されます、そして、ユーザー定義のカラーマップはpLUTパラメーターを通して渡されます。ビット範囲とカラーマップを準備するのを助けるために、LEADTOOLSはMinMaxBitsCommandクラスとMinMaxValuesCommandクラスを提供します。MinMaxBitsCommandクラスは、値の最小限と最大のビットを12または16ビットグレースケールimageに存在するようにします。MinMaxValuesCommandクラスは、imageの最小限と最大の明度値を取得します。WindowLevelFillLookupTableは、指定された値に基づくカラーグラデーションで、ユーザーを割り当てられたLUTを塗りつぶします。詳細については、「メソッドのための個々のエントリ」を参照してください。

ウィンドウレベル調整を行った画像を保存できるファイル形式は、TIFFとDICOMのみです。イメージは、WindowLevelを使って、フラグパラメーターのために、または、ウィンドウ-レベリングをサポートするファイルフォーマットからimageをロードすることによってRasterWindowLevelMode.PaintAndProcessingを指定することによるウィンドウレベル調整を行ったでありえます。ウィンドウレベル調整を行ったimageが他のファイルフォーマットとして保存されるならば、画像データは保存される前に変換されます。詳細については、「保存しているウィンドウレベル調整を行ったビットマップ」を参照してください。

画像の比較

2つのイメージの2つのイメージまたは部分は、CorrelationCommandクラスを使用して比較されることができます。このクラスはもう一つのimageで1つのimageの全部または一部を同じ寸法のすべての領域と比較して、相関関係の基準によって一致するそれらの領域を見つけます。

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