「note」に引っ越し中です。移動したページごとに移動先へのリンクを作っていく予定です。

Inkscapeで使えるフィルタプリミティブ要素:feMorphology

 このページでは、描かれている形を拡大したり縮小したりするフィルタプリミティブ要素を紹介します。Inkscapeではモフォロジーと表示されますが、モルフォロジーと書くほうが普通のようです。

 Morphology(モルフォロジー)という言葉は画像処理の世界で普通に使われていて、日本語ではどういう意味なのかははっきりわかりませんでしたが、「形状/形態に関するもの」とかいう意味のようです。

(2023.05.22更新)

 どのような変換を行うかというと、ある大きさ(その中心からの高さと幅)の矩形を変換対象の画像の隅から隅まで移動しながら、その矩形の内側に重なっているピクセル群の値の最大値または最小値を、矩形の中央のピクセルの変換後の値にするという変換だそうです。

 値の変換はR値G値B値A値それぞれで行われます。

 当然、矩形の大きさによって結果が変わります。

 最大値に変換するほうが「膨張( dilation )」で、最小値に変換するほうが「侵食( erosion )」と呼ばれています。Inkscapeでは「拡張」と「腐食」と表示されます。

 具体的に言うと、黒地(RGBがゼロ)の上に描かれた絵の境界線は矩形の大きさに合わせて広がったり(拡張の場合)縮んだり(腐食の場合)します。

 要するに、拡張は強い色が広がり、腐食は強い色が縮まる処理だということなのだと思います。

 ポイントはA値(不透明度)も変換の対象になっていて、拡張の場合はより不透明になり、腐食の場合はより透明になるということです。そのためか、RGBとしては同じ色でぬりつぶされていても、不透明度にばらつきがあるような、例えばぼかしの入ったような画像を対象にして、全体として不透明度を上げたり下げたりするという目的で使われることが多いフィルタプリミティブ要素だそうです。


 (参考:フィルタとは何か