(P402)
複習2.6.2(線性操做和非線性操做)和2.6.4(集合和邏輯操做,P46)
在圖像處理中,通常將全集定義爲包含圖像中全部元素的正方形。算法
\(A\ominus B\)
如圖所示,用B去腐蝕A,圖c中黃色區域時A的區域,藍色是B,B在A上運行,B的原點(圖b中心的黑點)訪問A的每個元素,來建立一個新的集合。若是B被A徹底包含,則B的原點在A上的這個元素構成新的集合的元素,不然不構成。最終造成了圖e。從圖e的結果看,A的邊界被腐蝕掉了。
「結構元包含在集合中」明確指出了A的元素與B的元素徹底重疊。
腐蝕縮小或細化了二值圖像中的物體,能夠把腐蝕當作是形態學濾波操做,這種操做將小於結構元的圖像細節從圖像中濾除了。腐蝕執行了一個「線濾波」的功能。網絡
\(A\oplus B\)
膨脹會「增加」或「粗化」二值圖像中的物體,粗化的寬度和方式由所用的結構元來控制。
膨脹的應用:
橋接裂縫。工具
咱們可使用相同的結構元B膨脹圖像A的背景(A的補),並對結果求補就能獲得B對A的腐蝕。學習
\((A\ominus B)^c = A^c \oplus \hat{B}\)
\((A\oplus B)^c = A^c \ominus \hat{B}\)spa
\(A\circ B\)
B對A的開操做就是B對A先腐蝕,而後用B對結果進行膨脹。
通常會平滑物體輪廓,斷開較窄的狹頸並消除細的突出物。
幾何解釋:
B對A的開操做的邊界由B中的點創建,當B在A的邊界內測滾動時,B所能達到的A的邊界的最遠點。B對A的開操做是經過擬合到A的B的全部平移的並集獲得的。3d
性質:code
\(A\bullet B\)
B對A的閉操做就是B對A先膨脹,而後用B對結果進行腐蝕。
集合運算符實心圓點。
一般會彌合較窄的間斷和細長的溝壑,消除小的空洞,填補輪廓線中的斷裂。
幾何解釋:
blog
性質:ci
根據性質3能夠看出,算子應用一次以後,一個集合的屢次開操做或者閉操做是沒有影響的。io
原圖(來源於網絡):
過濾出灰度在180-255之間的後
以半徑爲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)
原圖(來源網絡):
提取邊界後:
基於集合膨脹、求補和交集的算法。
有條件的膨脹,使填補感興趣的區域。
應用:
消除照片中的反射。
思考:在太陽能板部分斷裂缺失的缺陷檢測中,是否能夠經過空洞填充,獲取到指望中的無缺的太陽能板,而後與實際狀況作比較,找出有問題的部分
未完
這幾天的學習小結