基于MATLAB的形态学处理

本文介绍了如何使用MATLAB进行形态学处理,以解决图像二值化过程中保留大面积区域并去除小面积区域的问题。通过均值滤波、高阈值和低阈值二值化,结合腐蚀和膨胀操作,有效地实现了图像分割。具体步骤包括图像读取、均值滤波、确定阈值、选择种子点和应用bwlabel、bwselect函数。虽然未直接使用MATLAB的膨胀和腐蚀函数,但最终效果符合形态学操作原理。
摘要由CSDN通过智能技术生成

在Matlab中将一幅图像阈值分割二值化非常简单,若需要通过阈值th2二值化保留一些大面积的、且有灰度值含有大于th1的点的前景区域,而不需要小面积的区域(th1大于th2),这时会遇到这样的问题:当阈值选为th2时会把一些小面积区域也保留下来;若把阈值增大到th1,小面积的区域没了,但是原来大面积的区域又会减小;若要直接去掉阈值th2二值化图像中面积小于某一值的的区域,需要计算每个区域的面积,计算量大,而且有的区域中并没有含有大于th1的点。


下面利用数学形态学的方法来解决上述问题。


这里主要是采用数学形态学中的腐蚀与膨胀操作,采用均值滤波、灰度图像高阈值二值化、种子点选择、灰度图像低阈值二值化和选择滤波相结合的方法,具体来说:腐蚀过程采用均值滤波和高阈值对第一细分图像二值化,滤掉面积较小的区域,得到较大的区域,然后选择每个区域的种子点;膨胀过程采用低阈值对第一细分图像二值化,保留含有种子点的区域,其它的均过滤掉。经过腐蚀和膨胀操作后,得到所希望的结果,见下图。



程序如下:


wmf10=imread('mwf1.bmp'); %读取图像


wmf1=wmf10(:,:,1);%由于是灰度图像,三个页面相同,故只对第一页面数据操作


figure(1);


subplot(121);imagesc(wmf1);colormap(gray); %显示原图象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值