LES LES
2. 基本的な演算
2.5 グレースケール画像の場合
ここまでの説明では,2値画像や構造要素を,画素位置を表すベクトルの集合として表 していた.これに対してグレースケール画像は,各画素に画素値が対応していることか ら,画素位置を表すベクトルの関数と考え,画素値を関数の値で表すことで定義される.
同様に,グレースケールの構造要素を考えることも可能である.
以下,グレースケール画像と2値構造要素を用いる
“function-set
演算”
,構造要素もグ レースケールとした“function-function
演算”
にわけて説明する.2.5.1 function-set
演算グレースケール画像を画素位置ベクトル
x
の関数f (x)
で表し,構造要素はこれまでと 同じく構造要素B
で表す.2値画像X
に対するエロ−ジョンとダイレーション,すな わち(2.12) X # B ˇ = !
b∈B
X
−b(2.13) X ⊕ B ˇ = "
b∈B
X
−bに対応して,関数
f (x)
の構造要素B
によるエロ−ジョンとダイレーションを,( , #
をそ れぞれinf, sup
におきかえて(2.14) f # B ˇ = inf
b∈B
f (x + b)
(2.15) f ⊕ B ˇ = sup
b∈B
f (x + b)
U [ f ( x )]
x t’
t CSt[ f ]( x )
Fig. 3.
陰影とクロスセクションと定義する.
2値画像の場合とグレースケール画像の場合との関係は,次のようなクロスセクション
(cross-section)
の考え方を用いると理解しやすい.グレースケール画像を表す関数f (x)
に対して,「しきい値
t
におけるクロスセクション」CS
t[ f ](x)
を次のように定義する*4.(2.16) CS
t[ f ](x) = { x | f (x) ≥ t } .
図
3
は,クロスセクションの考え方を視覚的に表したものである.ここで,関数f (x)
に 対して,下記のように陰影(umbra)U[ f (x)]
を定義する.(2.17) U [ f (x)] = { (x, t) | − ∞ < t ≤ f (x) } .
すなわち陰影とは,関数
f (x)
のグラフに対して,そのグラフより下の部分すべて(−∞
ま で)を含む集合である.画素位置x
が2次元である通常のグレースケール画像では,画素 値を縦軸で表すと,陰影は画素値を上面とし,−∞
まで続く立体ということになる.この ような陰影を考えると,しきい値t
におけるクロスセクションCS
t[ f ](x)
は,陰影U[ f (x)]
を縦軸の位置
t
で切断した断面ということになる.図
3
でもわかるように,クロスセクションには「縦軸の高い位置での断面は,低い位置 での断面に含まれる」という性質がある.すなわち,(2.18) t < t
)⇒ CS
t[ f ] ⊇ CS
t)[ f ]
である.さて,あるグレースケール画像
f
について式(2.14)
のエロ−ジョンを行うとする.エ ロ−ジョンの結果,ある画素位置x
での画素値がt
になるということは,原画像f
におい て,構造要素B
を位置x
に移動させたB
xの内部には,画素値t
の画素が必ず含まれ,か*4これは,「スタックフィルタ」などの非線形フィルタについていわれる「しきい値分解」と同じものであ る.
つ画素値
t
未満の画素は含まれない.したがって,この画像のクロスセクションについて 同じようにB
xの内部を考えると,しきい値t
でのクロスセクションCS
t[ f ]
はB
x の内部 すべてを含むが,t
より大きなしきい値t
) については,どのクロスセクションCS
t)[ f ]
に おいても,B
xの内部にはクロスセクションに含まれない部分があることになる.よって,各クロスセクションをおのおの2値画像と考えて式
(2.12)
のエロ−ジョンを行 うと,しきい値t
でのクロスセクションCS
t[ f ]
のエロ−ジョンCS
t[ f ] # B ˇ
は位置x
を含 むが,t
より大きなどのしきい値t
) のクロスセクションCS
t)[ f ]
についても,エロ−ジョ ンCS
t)[ f ] # B ˇ
を行うとそれらは位置x
を含まない.このことは,グレースケール画像を可能なすべてのしきい値によってクロスセクション に分解し,各クロスセクションについて式
(2.12)
の2値のエロ−ジョンを行なって,そ れらをクロスセクションとする陰影を再構成すると,それはグレースケール画像に対して 定義した式(2.14)
のエロ−ジョンと同じであることを意味している.このような式(2.12)
と式(2.14)
の関係を,「式(2.14)
がしきい値分解可能である(commute with thresholding)
」 という.この関係は,ダイレーションについても同様である.2.5.2 function-function
演算グレースケールの構造要素は,グレースケール画像と同様に関数で表す.このとき,画 像
f (x)
と構造要素をg(b)
とのエロ−ジョン・ダイレーションを,次のように定義する.(2.19) { f # g ˇ } (x) = inf
b∈w(g)
{ f (x + b) − g(b) }
(2.20) { f ⊕ g ˇ } (x) = sup
b∈w(g)
{ f (x + b) + g(b) }
ここで,
w(g)
はg
のサポートとよばれ,関数g
の画素値0
でのクロスセクションに相当 する.また,g(b) ˇ = g( − b)
である.上の定義は,先に述べた陰影を考えると,2値のエロ−ジョン・ダイレーションとの関 係が理解できる.陰影
U [ f ]
から関数f
を復元するには,関数f
が陰影U [ f ]
の上面に対 応することから,(2.21) f (x) = sup { t | (x, t) ∈ U[ f ] }
とすることになる.一方,画像と構造要素の陰影をそれぞれどうしのミンコフスキー和
U[ f ] ⊕ U [g]
を考え,それに対して式(2.21)
のように関数を復元することを考えると,(2.22) h(x) = sup { t | (x, t) ∈ U[ f ] ⊕ U [g] }
となる.ミンコフスキー和の式
(2.7)
の形の定義を用いると,上の式は(2.23) h(x) = sup { u + v | (x − b, u) ∈ U[ f ] and (b, v) ∈ U [g] }
おけるベクトルの和
b + x
に対応付けるため,U[ f ]
をb
の位置に平行移動しているから である.したがって,h(x) = sup
b∈w(g)
) sup { u | (x − b, u) ∈ U[ f ] }
+ sup { v | (b, v) ∈ U[g] } *
= sup
b∈w(g)
{ f (x − b) + g(b) } (2.24)
となるから,
h(x)
をf
とg
のミンコフスキー和と考えると,g
を画素位置について反転さ せたものが式(2.20)
のダイレーションとなる.すなわち,式(2.20)
のダイレーションの 定義は,陰影に対するミンコフスキー和を考えると,2値画像・構造要素のダイレーショ ンの拡張になっていることがわかる.一方,ダイレーションを陰影を用いて定義する場合は,「
U[ f ]
をU [g]
の内部に沿って 動かし,共通部分をとる」というミンコフスキー差を用いた定義はできない.なぜなら ば,U[g]
は画素値を表す座標の方向に−∞
まで広がっているので,U [ f ]
をそれに沿って−∞
まで動かしてゆくと,共通部分はつねに空集合になるからである.そこで,2値の場合のミンコフスキー差の,式
(2.4)
の形の定義を用い,2値のエロ−ジョンを
(2.25) X # B ˇ = { x | x + b ∈ X, b ∈ B }
と表す.これにならって,陰影のエロ−ジョン
U [ f ] # U[ˇ g]
を考え,それに対して同様に 関数を復元することを考えると,式(2.23)
の場合と同様にk(x) = sup { t | (x, t) ∈ U [ f ] # U[ˇ g] }
= sup { u | (x + b, u + v) ∈ U[ f ] and (b, v) ∈ U [ˇ g] }
(2.26)
となる.上の式は,「
u + v
がU [ f ]( x + b)
の上限に定められているとき,v
がU [ˇ g](b)
の上 限をとるならば,u
の上限はどうなるか」と述べているわけだから,それはu
の上限のう ちの下限をとることになる.すなわち,式(2.21)
のように復元すると(2.27) k(x) = inf
b∈w(g)