创建形态学操作

1、imbothat----------------进行bottom-hat滤波

函数I=imbothat(IM,se)  IM为二值图像,se为strel函数生成的结构元素,


代码:

I=imread('lena.jpg');

se=strel('disk',5);

J=imsubtract(imadd(I,imtophat(I,se),imbothat(I,se));

imshow(J0;



2、imclearborder------去除图像边界   就是二值图像的边界


I=imclearborder(IM,conn)     ---------------------------conn代表及联通


imopen-----------对图像进行开运算

先腐蚀后膨胀

3、imclose------------------------------------------对图像进行形态学闭操作

  就是先进行膨胀后进行服饰


I=imread('lean.jpg');
se=strel('disk',5);
J=imclode(I,se);
figure;
imshow(J);

4、imdilate------------------对图像进行膨胀操作


就是符合结构元素的像素进行添加对应的像素值


indilate(I,se)    按照相应 的结构元素对图像进行操作


I=imread('lena.jpg');
se=strel('disk',4);
bw=imdilate(I,se);
imshow(j);

5、imerode---------------------------对图像按照结构元素进行腐蚀


imerode(I,se)

I=imread('lena.jpg');
se=strel('disk',4);
bw=imerode(I,se);
imshow(j);
6\imextendedmax(I,H)-----------------------------------对图像进行极大值变换


bw=imextendmax(I,H)    对图像I进行扩展极大值变换,H为极大值变换的局部极大值,

bw=imextendmax(I,H,conn)   ------按照conn联通域进行极大值变换

7、imfill---------------------------对图像区域和目标进行填充


bw=imfill(Bw,location  ,'holes')

I=imread('coin.png');
bw=im2bw(I);
bw1=imfill(bw,‘holes’);
imshow(bw1);

8、imhmax----------------------进行H  极大值变换


当图像矩阵中的所有极大值减去指定h值,当极大值小于h,去除改极大值

a=zeros(10,10);
a(2:4,2:4)=3;
a(6:8,6:8)=8;
a(7:9,2:4)=5;
b=imhmax(a,4);

imhmin与之相反   ----------------小于h相加


9、imreconstruct---------------进行形体学重建

im=imreconstrut(I,mask)   按照按摩对图像进行重建



10、watershed-----------------------------分水岭变换


l=watershed(a)   对矩阵进行分水岭标示,生成标示矩阵L,L为大于或者等于0的整数,0表示不属于任何一个分水岭区域,1表示属于第一个分水岭区域,2表示属于的二个分水岭区域,



11、bwarea------------------------------计算二值图像中目标的面积


计算的是全部和


bwarea(bw)


12、bwareaopen----------------移除小目标


对于像素个数小于p的目标进行移除

bwareaopen(bw.p)

13、bwdist-----------------计算二值图像距离变换

    bwdist(bw,'chessboard','cityblock','euclidean',)   默认欧式距离、


14、belabel--------------标注二值图像中的目标物体


[L num ]=bwlabel(bw,n)  返回表示矩阵L(123455...)



14、bwperim--------------------------------------------确定图像的边界





你可能感兴趣的:(创建形态学操作)