创建形态学操作
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------------------------------------------對圖像進行形態學閉操作
? 就是先進行膨脹后進行服飾
4、imdilate------------------對圖像進行膨脹操作
就是符合結構元素的像素進行添加對應的像素值
indilate(I,se) ? ?按照相應 的結構元素對圖像進行操作
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--------------------------------------------確定圖像的邊界
總結
- 上一篇: 一个简单的人脸检测
- 下一篇: BP神经网络(检测故障的实例)