画像処理(C)

形態学的画像処理ノート

(P402)
レビュー2.6.2(線形演算及び非線形演算)及び2.6.4(集合と論理演算、P46)
画像処理では、一般的にすべての正方形の画像要素の全集を含むように定義されています。

  1. 形態学的画像処理は、画像が入力され、出力は、これらの画像から属性を抽出するために処理されます。
  2. バイナリ画像:各ピクセルは2つだけの可能な階調、0または255を有しています。
  3. 最小値は、運用上の定義と最大セット操作として定義された階調値を補完し、画像の対応する画素の対応画素に対して定義された通信動作は、差分二十から二各画素間で一定です。

収縮と膨張

腐食

\(A \ B Ominus \)
B、図の領域Cの黄色領域に腐食Aによって示されるように、Bは、原点のB(図中の黒丸bの中心、A上のブルーA、Bが実行されます。 )新しいコレクションを作成するには、各要素にアクセスしてください。Bが完全要素の新しいコレクション内の構成要素の起源のA、Bに含まれる場合、または構成しません。図は、最終的に電子を形成しました。図Eで見られた結果から、境界Aが腐食されます。
Aの元素とB元素が完全に重なることは明らか「構造要素は、コレクションに含まれています」。

腐食狭い又はバイナリ画像内のオブジェクトを絞り込み、それがフィルタリングされた画像から構成要素の画像の詳細よりも小さくなる腐食形態学的フィルタリング操作、と見なすことができます。エッチングは、「ワイヤフィルター」機能を行います。

うねり

\(A \ oplus Bの\)
「成長」することができる拡張またはバイナリ画像オブジェクトに「粗化」、幅及び使用する構造要素によって制御粗化方法。

拡張アプリケーション:
橋の亀裂。

双対性

我々は、同じ構造要素Bエキスパンド背景画像A(Aの補数)、得ることができ、AにBの腐食補数の結果を使用することができ

\((A \ ominus B)^ C = A ^ C \ oplus \帽子{B} \)
\((A \ oplus B)^ C = A ^ C \ ominus \帽子{B} \)

操作を開くと操作を閉じます

オープン操作

\(A\circ B\)
B对A的开操作就是B对A先腐蚀,然后用B对结果进行膨胀。
一般会平滑物体轮廓,断开较窄的狭颈并消除细的突出物。
几何解释:

B对A的开操作的边界由B中的点建立,当B在A的边界内测滚动时,B所能达到的A的边界的最远点。B对A的开操作是通过拟合到A的B的所有平移的并集得到的。

性质:

  1. \(A\circ B\)是A的子集
  2. 如果C是D的子集,则\(C\circ B\)\(D\circ B\) 的子集
  3. \((A\circ B) \circ B = A \circ B\)

闭操作

\(A\bullet B\)
B对A的闭操作就是B对A先膨胀,然后用B对结果进行腐蚀。
集合运算符实心圆点。
通常会弥合较窄的间断和细长的沟壑,消除小的空洞,填补轮廓线中的断裂。
几何解释:

性质:

  1. A 是 \(A\bullet B\) 的子集
  2. 如果C是D的子集,则 \(C\bullet B\)\(D \bullet B\) 的子集
  3. \((A\bullet B)\bullet B = A \bullet B\)

根据性质3可以看出,算子应用一次之后,一个集合的多次开操作或者闭操作是没有影响的。

练习

原图(来源于网络):
原图

过滤出灰度在180-255之间的后
过滤出灰度在180-255之间的后

以半径为1.5的圆形结构元素进行腐蚀后
以半径为1.5的圆形结构元素进行腐蚀后

再以半径为1.5的圆形结构元素进行膨胀后
再以半径为1.5的圆形结构元素进行膨胀后

dev_open_window(0, 0, 512, 512, 'black', WindowHandle)
read_image(Image, 'bei1')
dev_display(Image)
* 按照灰度过滤
threshold(Image, Region, 180, 255)
* 腐蚀
erosion_circle(Region, RegionErosion, 1.5)
* 膨胀
dilation_circle(RegionErosion, RegionDilation, 1.5)

击中或不击中变换

形态学的击中或不击中变换是形状检测的一个基本工具。
没看懂


为什么 (W-D)对 \(A^c\) 的腐蚀会出现D的原点和E中的一横一竖?A的补集不是不包含D和E吗?

如果B表示由D及其背景组成的集合,则B在A中的匹配表示为 \(A\circledast B\),
\[ A\circledast B = (A\ominus D)\cap [A^c\ominus (W-D)] \]

\(B=(B_{1}, B_{2})\)\(B_{1} = D\)\(B_{2} = (W-D)\),则:
\[ A\circledast B = (A\ominus B_{1}) \cap (A^c\ominus B_{2}) \]

一些基本的形态学算法

边界提取

求集合A的边界,先用B对A进行腐蚀,然后执行A和腐蚀结果的差。

练习

dev_open_window(0, 0, 512, 512, 'black', WindowHandle)
read_image(Image, 'map')
threshold(Image, Region, 0, 254)
erosion_circle(Region, RegionErosion, 1.5)
* 求两个区域的不同
difference(Region, RegionErosion, RegionDifference)

原图(来源网络):

提取边界后:

孔洞填充

基于集合膨胀、求补和交集的算法。
有条件的膨胀,使填补感兴趣的区域。
应用:
消除照片中的反射。
思考:在太阳能板部分断裂缺失的缺陷检测中,是否可以通过空洞填充,获取到期望中的完好的太阳能板,然后与实际情况做比较,找出有问题的部分

未完

这几天的学习小结

  1. 总体进度偏慢,两天左右的时间粗略学习了一个例程和精读了形态学处理的约三分之一章
  2. 章节有一定的关联性,因为没什么基础,很多东西都得前后结合着跳来跳去看
  3. 边学边练的方法感觉还不错,但是因为总体进度较慢,练习量也不太够
  4. 有的问题可能不用太纠结,几何解释比一大段的话更容易理解,一大段话看不明白就先跳过
  5. 需要根据这几天的学习情况规划一下总体计划及可行性

おすすめ

転載: www.cnblogs.com/yutou2016/p/11064482.html