1 简介
文章首先介绍了传统的图像分割技术的特点和缺点,在这个基础上,研究了基于分水岭技术的图像分割算法,对分水岭技术的基本原理进行概述,先获取整幅图像的基本特征,然后将图像形态予以梯度处理,从而得到不同类别的图像信息分割线,最后,本文采用MATLAB编码实现对图像信息的轮廓提取以及图像分割.通过仿真,结果验证了基于分水岭技术的图像分割算法的效果是优于传统分割算法的效果.
分水岭算法是根据数学思想提出的,是基于数学形态学的一种图像分割算法。为更好的了解该算法,将图像当作一个拓扑地貌,并且将地貌上不同高度的地方用像素的灰度值进行表示,并且通过模拟浸入过程来进行图像分割。通过模拟浸入的过程可以发现,当水涌进或流出时都会使图像出现两个不同的部分,一部分被叫作集水盆地,即地貌中的最低处,一部分被叫作分水岭线,即将集水盆地分割开的边界线。因此,根据模拟浸入的原理可以将形成分水岭的过程分为两种:一种是自上而下的模拟降水算法如图 2.8 所示,一种是自下而上的模拟泛洪算法如图 2.9 所示。
自上而下模拟降水算法是当雨水降落在地形曲面上时,当雨水从高处向低处流
时,会通过不同路径进入,但都流入同一个地方,而通过不同路径流向同一个地方的所有路线被划分成一个连续的分支即分水岭线,而流向的地方被称为集水盆地。
自下而上模拟泛洪算法是将具有盆地的整个地形曲面垂直的完全放入水中,然后给盆地的最低处戳一个洞,这样水就可以均匀的涌进每个洞里,最终结果是盆地被水注满,当两个或多个盆地被水注满并且将要汇合时,需要堤坝来防止水聚集在一起,等到所有的盆地都被注满水时,所有的堤坝顶部在水面上方,这样就将这个地形分成了两部分,一部分是集水盆地,一部分是分水岭线。
无论是模拟降水还是模拟泛洪我们都可以从其意义中获得有关分水岭算法的重
要性质,即分水岭算法所获得分割线具有连通性并且各个区域之间的边界是连续的,所得到的分割区域是封闭的。最后,分水岭分割算法的目的就是将图像背景中的像素点根据相似性的性质提取出来。除此之外,若梯度值小则灰度值变化也小,所以我们可以得出分水岭算法和梯度有很大的关系,因此我们在使用分水岭算法之前,需要将原图像通过梯度算子边缘检测获得梯度图像.
2 部分代码
%% 程序分享 %--------------------------------------close allclearclc%% 分水岭进行分割I=imread('rice.png');J=imtophat(I,strel('disk',15));bw=im2bw(J,graythresh(J));bw_opened=bwareaopen(bw,5);L1=bwlabel(bw_opened);rgb1=label2rgb(L1, 'spring', 'c', 'shuffle');figure;subplot(1,2,1),imshow(I),title('原始图像');subplot(1,2,2),imshow(rgb1),title('不使用分水岭的分割结果');%% 6. 显示分水岭的分割结果rgb2=label2rgb(L2, 'hot', 'c', 'shuffle');figure;subplot(1,2,1),imshow(I),title('原始图像');subplot(1,2,2),imshow(rgb2),title('经分水岭分割后的图像');%% 7. 最后,比较两种结果figure;subplot(1,3,1),imshow(I),title('原始图像');subplot(1,3,2),imshow(rgb1),title('不用分水岭的分割结果');subplot(1,3,3),imshow(rgb2),title('使用分水岭的分割结果');
3 仿真结果
4 参考文献
[1]莫雨洁. 基于分水岭技术的图像分割算法研究与实现[J]. 信息通信, 2020(3):2.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。