(1)腐蝕和膨脹:相對於灰度值而言的增加減少
腐蝕和膨脹的理解:選定模板後計算模板內的有效最小值,然後替換模板中心點,膨脹則選取最大值,所以腐蝕以後灰度值變低,有效的非空白圖像增加;而膨脹後灰度值變高,圖像的白色明亮部分變多。
膨脹可以去除其他的被錯誤檢測出來的小物體,然後再腐蝕恢復因膨脹消失的原本的物體(因膨脹而消失的小物體則不會再恢復)。一般步驟:開運算(去白色噪聲點)+膨脹(去誤檢測顏色噪點)+腐蝕(恢復原本物體)
腐蝕和膨脹函數:imdilate(image,B); --image爲被膨脹圖像 ---B爲結構元素(模板)
imerode(image,B);
模板生成函數: strel('XX',3); ---XX代表模板形狀,square方形,disk圓形,diamond菱形等
---4代表中心點與模板最遠點的距離,
---strel('square',3); 代表3*3的方形模板,且權值都爲1
(2)開運算和閉運算:
開運算:先膨脹後腐蝕,有助於去除灰度值較高(白色)的噪聲點,用與消除小物體,在纖細點處分離物體;
閉運算:先腐蝕後膨脹,有利於消除黑色噪聲點,去除小黑色區域。
-----開閉運算結合使用效果更好
開閉運算函數:imopen(image,template); ---image表示處理的圖像,template表示生成的模板
imclose(image,template);
參考:https://blog.csdn.net/u013165921/article/details/78302209