フレームを表示

L_SigmaFilterBitmap

フレームを表示

#include "l_bitmap.h"

L_LTIMGCOR_API L_INT EXT_FUNCTION L_SigmaFilterBitmap(pBitmap、nSize、nSigma、fThreshhold、bOutline、uFlags)

pBITMAPHANDLE pBitmap;

/* ビットマップへのポインター*/

L_UINT nSize;

/* 近傍のサイズ*/

L_UINT nSigma;

/* 多くの標準偏差*/

L_FLOAT fThreshhold;

/* カーネルに含まれるピクセルの最小限のパーセンテージ*/

L_BOOL bOutline;

/* ブールのフラグ*/

L_UINT32 uFlags;

/* フラグ*/

imageの上でエッジ保持平均フィルターを実行します。

パラメーター

説明

pBitmap

影響を受けるためにビットマップを参照文に引用するビットマップハンドルへのポインター。

nSize

平均算出近傍のサイズ。ピクセル(正方形の一方の)では、それはlengthです。

nSigma

計算されたピクセルがなければならない実の標準偏差の数1または2などの低い値が使われるならば、フィルタはもっと、関数を保つ関数をフィルタリングしているノイズの働きをします。

fThreshhold

カーネルでピクセルの数に含まれるピクセルの最小限のパーセンテージ。パーセンテージが満たされないならば、すべてのピクセルは自動的に含まれます。より多くのノイズは、より高いしきい値で押されます。

より高い、より多くのものは言い触らすしきい値は、押されます。

bOutline

中心ピクセルがフィルタの計算に含まれるかどうかについて示すブールフラグ。設定可能な値は、以下の通りです。

 

意味

 

True

中心ピクセルは含まれます。

 

False

中心ピクセルは除外されます。

uFlags

今後使うため確保されます。0でなければなりません。

戻り値

SUCCESS

関数は成功しました。

<1

エラーが発生しました。リターンコードを参照してください

コメント

ぼかしの量は、近傍のサイズを指定することによって制御されます。

この関数は、12と16ビットグレースケールと48と64ビットカラーイメージをサポートします。12と16ビットグレースケールと48と64ビットカラーイメージのサポートは、DocumentとMedical画像化ツールキットで利用できます。

この関数は、32ビットグレースケールイメージをサポートしません。32ビットグレースケールimageがこの関数に渡されるならば、それはエラーコードERROR_GRAY32_UNSUPPORTEDを返します。

必須のDLLとライブラリ

LTIMGCOR

ツールキットバージョンに基づいた正確なDLLとライブラリのリストについては、「アプリケーションとともに配布するファイル」を参照してください

プラットホーム

Win32、x64、Linux。

参照

関数:

L_TissueEqualizeBitmap, L_SharpenBitmap, L_MedianFilterBitmap, L_TADAnisotropicDiffusion

トピック:

ラスター画像は機能します:画像のフィルタリング

 

ノイズを削除すること

サンプル

このサンプルはビットマップをロードして、それの上でSigmaフィルタを適用します

#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName


L_LTIMGTEX_API L_INT SigmaFilterExample(L_VOID)
{
   L_INT nRet;
   BITMAPHANDLE LeadBitmap; /*Bitmap handle to hold the loaded image*/

   /* Load the bitmap, keeping the bits per pixel of the file */
   nRet = L_LoadBitmap (MAKE_IMAGE_PATH(TEXT("sample5.cmp")), 
      &LeadBitmap, sizeof(BITMAPHANDLE), 0,
      ORDER_BGR, NULL, NULL);
   if(nRet != SUCCESS)
      return nRet;

   //Apply Sigma filter
   nRet = L_SigmaFilterBitmap(&LeadBitmap, 10, 2, 0.2f, FALSE, 0);
   if(nRet != SUCCESS)
      return nRet;

   //free bitmap 
   if(LeadBitmap.Flags.Allocated)  
      L_FreeBitmap(&LeadBitmap);
   return SUCCESS;
}