發表文章

目前顯示的是 2月, 2021的文章

影像處理 | Boundary Extraction & Region Filling

圖片
這是我在中興大學資工系修習影像處理 Digital Image Processing這門課程所做的課後作業,在這個作業中,我將會使用到數學形態學( Mathematical morphology )中的一些技巧,包含侵蝕( Erosion )、膨脹( Dilation ),來實現如標題所需要的邊界抽取( Boundary Extraction )及區域填充( Region Filling )。 本作業的原理是這樣,我們可以在二值化影像中利用形態學原理來改變影像內容,假想一下,所所謂的 二值化影像 ,就是影像的像素簡單表現為0和1(嚴格來說應該是255),就是全亮和全暗,以下我則描述為全黑和全白,這些像素將構成完整的圖片。 想像一下,你拿著一隻立可白塗黑板,黑板上就只有白色線條和黑色版面。 一張簡單的二值化影像,影像中只有全黑、全白兩種像素   二值化影像的像素分佈情況 往下描述如何透過 Erosion 和 Dilation 來分別實現 Boundary Extraction 、 Region Filling 。 Boundary Extraction 只需用到 Erosion ,再搭配像素加減運算,謹記著幾個要點即可。 Erosion 是將影像中白色區域做減肥,運算完的結果會比原圖的白色區域更小,讓該物體瘦一圈,這一圈的寬度是由捲積Kernel 的大小所決定的, Kernel沿著影像滑動並計算,如果Kernel中m * n 範圍內所有像素值都是1,那麼新的像素值就保持原來的值,否則新的像素值為0,Kernel掃過的所有像素都會被腐蝕或侵蝕掉,影像的白色區域會變少。 在我們執行完 Erosion 後,可以發現1的部位被縮小了,就視覺上未必會發現亮的部位變小,因為他的變化著實很細微,有些原圖亮的像素是1,他在 Erosion 結果中是0,如果把他們相減,就可以得到找到亮部的相差,如此就會拿到亮部的輪廓。 先把圖片 A 做Erosion後,高亮的地方變瘦了,接著用原圖減去Erosion結果 B ,對比原圖, B ( Erosion )亮的地方比較瘦,原圖減去Erosion結果 A-B ,可以得到在Erosion結果中對比原圖沒有的亮部位,就可以得到邊緣了。 看一下 Boundary Extraction 的處理步驟:特別提醒一點,這邊說的相減或其他運算,都是指向素...