mrcImageBilateralFilter

提供: Eospedia
2014年11月25日 (火) 21:55時点におけるTacyas (トーク | 投稿記録)による版

移動: 案内検索

mrcImageBilateralFilterとはmrcImageファイルを平滑化するためのEosコマンドである。 Tomasi and Manduchiにより提唱された手法であり、エッジを保ちつつ、平滑化するための手法である。像の強度差による重みを付けた平滑化である。二つの偏差(強度差、距離)をガウス分布などにより重みを計算していることにより、強度差がある領域をぼかすことなく維持できる。

アルゴリズム

Wx(xi, xj)とWI(Ii,Ij)の二つのウェイトをもち、いずれも|xi-xj|, |Ii-Ij|のガウス関数もしくはローレンツ関数などとして定義されている。すなわち、エッジ付近では、画像の差が大きくなるため、自分自身が属する密度帯での平滑化のウェイトがかかる。

fi = Sigma_j(W(i,j)*Ij)/ Sigma_j(Wj)   
  ,where W(i,j)=W_x(xi,xj)*W_I(Ii,Ij)    

------- linfo.mode : 0 
                W_x(xi,xj) = exp(-|xi-xj|^2/2 sigmaSpace^2  )
                W_I(Ii,Ij) = exp(-|Ii-Ij|^2/2 sigmaDensity^2)
------- linfo.mode : 1 
                W_x(xi,xj) = 1/(1+|xi-xj|^2/sigmaSpace^2  )   
                W_I(Ii,Ij) = 1/(1+|Ii-Ij|^2/sigmaDensity^2)

オプション一覧

メインオプション

オプション 必須項目/選択項目 説明 デフォルト
-i 必須 入力ファイル:mrcImage NULL
-o 選択 出力ファイル:mrcImage stdout(設定しなければ標準出力)
-sD 選択 SigmaDensity(float) [ImageAmplitude] 2.0
-kTD 選択 Kernel Type of Density (int) 0
-sS 選択 SigmaSpace(float) [pixel] 1.0
-sS3 選択 SigmaSpace 3D (x:float, y:float, z:float) [pixel] 1.0 1.0 1.0
-kTS 選択 Kernel Type of Space (int) 0
-kS 選択 Kernel Size (int) [pixel] 1.0
-kS3 選択 Kernel Size 3D (x:int, y:int, z:int) [pixel] 1.0 1.0 1.0
-c 選択 コンフィグファイル設定 NULL
-m 選択 モードを設定 0
-h 選択 ヘルプを表示  

モードの詳細

モード 説明
0

-kTD の詳細

モード 説明
0 ガウス関数
1 ローレンツ関数

-kTS の詳細

モード 説明
0 ガウス関数
1 ローレンツ関数


実行例

入力ファイル(2D)の画像

Input-1VOM-N-2D.png

最小

最大
平均値
標準偏差

標準誤差

-18651.7 (10, 1, 0)

52942.7 (24, 39, 0)
7214.87
10067.6

125.845


オプション必須項目のみの場合

Outdata-mrcImageBilateralFilter.png

最小

最大
平均値
標準偏差

標準誤差

-18651.7 (10, 1, 0)

52942.7 (24, 39, 0)
7214.87
10067.6

125.845


オプション -sD

sD=50000で実行
Outdata-sD-mrcImageBilateralFilter.png

最小

最大
平均値
標準偏差

標準誤差

-3963.33 (76, 66, 0)

36164.2 (26, 29, 0)
7213.95
8271.46

103.393


以降はsD=50000で実行する


オプション -kTD

kTD=1で実行
Outdata-kTD-mrcImageBilateralFilter.png

最小

最大
平均値
標準偏差

標準誤差

-4063.09 (56, 4, 0)

36357.6 (26, 29, 0)
7212.18
8280.1

103.501


オプション -sS

sS=10で実行
Outdata-sS-mrcImageBilateralFilter.png

最小

最大
平均値
標準偏差

標準誤差

-3196.78 (38, 0, 0)

32196.3 (25, 39, 0)
7210.81
8039.59

100.495


オプション -kTS

kTS=1, sS=10で実行
Outdata-kTS-mrcImageBilateralFilter.png

最小

最大
平均値
標準偏差

標準誤差

-3198.73 (38, 0, 0)

32222.2 (25, 39, 0)
7210.86
8040.82

100.51


オプション -kS

kS=10で実行
Outdata-kS-mrcImageBilateralFilter.png

最小

最大
平均値
標準偏差

標準誤差

-3871.71 (76, 66, 0)

35969.2 (26, 29, 0)
7213.84
8256.51

103.206


入力ファイル(3D)の画像

Input-1VOM-N.png
xy平面

Input1-1VOM-N.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-2390.42 (77, 14, 69)

4374.62 (17, 62, 46)
72.1487
577.82

0.722275


オプション -sD

sD=1000で実行

Outdata1-sD-mrcImageBilateralFilter.png
xy平面

Outdata2-sD-mrcImageBilateralFilter.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-1272.88 (77, 14, 69)

4131.48 (17, 62, 46)
67.6465
267.559

0.334449


以降はsD=1000で実行する


オプション -sS3

sS3=(1, 0.7, 1)で実行

Outdata-sS3-mrcImageBilateralFilter.png
xy平面

Outdata1-sS3-mrcImageBilateralFilter.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-1459.87 (77, 14, 69)

4154.41 (17, 62, 46)
68.4469
284.532

0.355665


オプション -kS3

kS3=(2, 2, 1)で実行

Outdata-kS3-mrcImageBilateralFilter.png
xy平面

Outdata1-kS3-mrcImageBilateralFilter.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-1966.48 (78, 4, 26)

4354.27 (17, 62, 46)
71.3418
396.845

0.496056


参考資料

  • C. Tomasi and R. Manduchi, Bilateral Filtering for Gray and Color Images, Proceedings of the 1998 IEEE International Conference on Computer Vision, Bombay, India