形態學運算
形態學運算是一族以形狀為本的轉換,最初用於二值(黑白)影像,它以一個稱為結構元素的小模板探測影像,並依該模板是否「合得進去」來重塑區域。把結構元素想成一把小餅乾模或橡皮擦,你滑著它越過影像;它增刪像素的規則讓你能清理形狀:去除斑點、填補孔洞、平滑鋸齒邊界、把線細化成骨架、或分開相觸的物件。與卷積不同,其底層運算是取最小與最大,而非加權和。
兩個原子是侵蝕(erosion)與膨脹(dilation)。侵蝕,寫作 A 侵蝕 B,唯有當以該處為中心的結構元素 B 完全裝得進前景時,才保留一個前景像素;它縮小亮區並刪去任何比 B 小的東西。膨脹,A 膨脹 B,只要 B 觸及任何前景就設定該像素;它放大亮區並填補小縫隙。兩者在補集下互為對偶(侵蝕前景等於膨脹背景)。把它們組合便得到主力運算:開運算(先侵蝕後膨脹)去除小亮斑與細突起,同時保留較大形狀的整體尺寸;閉運算(先膨脹後侵蝕)填補小暗孔並橋接窄縫。兩者皆為冪等,套用兩次不會再有任何改變。
這些自然地延伸到灰階影像,此時侵蝕變成結構元素上的局部最小值、膨脹變成局部最大值。更豐富的複合算子在原子上建構:形態學梯度(膨脹減侵蝕)勾勒邊緣;頂帽轉換(影像減去其開運算)萃取小的亮特徵並校正不均光照;黑帽則做暗特徵的對應;而骨架化、擊中與否(hit-or-miss)轉換、以及分水嶺分割都奠基於這套代數。形態學是文件分析、醫學影像與工業檢測中閾值化之後的標準後處理步驟。
對掃描表單閾值化之後,用 3x3 方形做開運算可抹去孤立的墨點,再用同一元素做閉運算則重新連接字母斷裂的筆畫,留下乾淨、實心、可供 OCR 辨識的字元。
陷阱:順序很重要,開運算與閉運算不同,兩者也都不等於什麼都不做。要去除亮雜訊就選開運算、要填補暗縫就選閉運算,並把結構元素的尺寸定得符合你想移除的特徵;太大就會把你本想保留的物件抹掉。