形态学,即数学形态学(mathematical Morphology)包括腐蚀(dilation),膨胀(erosion),开操作(opening),闭操作(closing)等。在运算过程中需要利用一定形状的结构元素(structing element)来作为模板,常用的有圆形、方形、菱形、扁平形等。
1. 腐蚀
腐蚀操作的主要目的是使边界缩小,腐蚀能够消融物体的边界,具体的腐蚀结果与图像本身和结构元素的形状有关。
Matlab用imerode函数实现图像腐蚀。用法为:Imerode(X,SE).其中X是待处理的图像,SE是结构元素对象。结构元素的生成可以用strel函数,用法为SE=strel(shape,parameter),shape指定了结构元素的形状,parameter是和输入有关的参数。其中shape的种类有:‘arbitrary’(任意自定义的结构元素)、‘pair’(包含两个点的结构元素)、‘diamond’(菱形结构元素)、‘disk’(圆形结构元素)、‘rectangle’(矩形结构元素)、‘line’(线形结构元素)、‘square’(正方形结构元素)、‘octagon’(八角形结构元素)。
f = imread('2.jpg');
I=edge_extr(f);
figure;imshow(I);title('腐蚀前');
se = strel('square',5);
Ib = imerode(I,se);
figure;imshow(Ib);title('腐蚀后');
2.膨胀
膨胀操作是与腐蚀操作相反的过程,经过运算之后可以使图像变大,内部空洞变小。在图像二值化的过程中,很容易出现连通区域断裂或孔洞较多的情况,可以用于合并裂缝、填充孔洞。
imdilate函数用于完成图像膨胀,用法为:I = im