Matlab数学形态学进行图像处理

数学形态图像处理的方法基本有膨胀,腐蚀,开运算,闭运算

  • 腐蚀的作用是消除物体边界点,使目标缩小,可以消除小于结构元素的噪声点;
  • 膨胀的作用是将与物体接触的所有背景点合并到物体中,使目标增大,可添补目标中的空洞。
  • 开运算是先腐蚀后膨胀的过程,可以消除图像上细小的噪声,并平滑物体边界。
  • 闭运算是先膨胀后腐蚀的过程,可以填充物体内细小的空洞,并平滑物体边界。
clc,clear
I=imread('circbw.tif');
imshow(I),title('原始图像');
%腐蚀操作
se=strel('square',3);
Ie=imerode(I,se);
figure,imshow(Ie),title('腐蚀之后的图像');
%膨胀操作
Id=imdilate(I,se);
figure,imshow(Id),title('膨胀之后的图像');
%开运算——先腐蚀后膨胀
Io=imdilate(Ie,se);
figure,imshow(Io),title('开运算之后的图像');
%闭运算——先膨胀后腐蚀
Ic=imerode(Id,se);
figure,imshow(Ic),title('闭运算之后的图像');

%边缘提取--第1种方法,原图减去腐蚀之后的结果
Iout1=I-Ie;
figure,imshow(Iout1),title('边界提取之后的图像');
%边缘提取--第2种方法,bwperim()
Iout1=bwperim(I,4);
figure,imshow(Iout1),title('bwperim边界提取之后的图像');

运行结果:
这里写图片描述

进行周长的计算(手动估算,边界提取计算,自带的周长计算函数):

clc,clear
I=imread('C:\Users\admin\Desktop\圆形黑白图.bmp');
imshow(I)
imtool(I)
%估算周长为:338px * pi--1061px

%边界提取求周长--953px
[width,height]=size(I);
Iout1=bwperim(I,4);
figure,imshow(Iout1),title('bwperim边界提取之后的图像');
pxNum=0;
for i =1:width
    for j =1:height
        if(Iout1(i,j)>0 )
          pxNum=pxNum+1;
        end
    end
end


%matlab自带函数求周长--1058px
p=regionprops(I,'Perimeter');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值