您的位置:首页 > 编程语言 > MATLAB

数字图像分析大作业-区域形态分析

2018-02-27 20:49 846 查看


       在给定的图像中,有大小不同的两类目标,通过选择合适的算法,实现对各个目标的分割,然后对分割的目标,选择合适的特征,将其分为两类。

                                        

    对于图像的目标分割,可选择分水岭分割算法。分水岭算法的优点在于其对相连目标、近似一致的目标的分割的效果较好。传统的分水岭分割算法通常会因为噪声和梯度的其他局部不规则性造成过度分割,为了解决过分割的问题,需要对分割区域进行限制,可采用分水岭分割算法的改进算法:基于标志的分水岭分割算法。基于标记控制的分水岭分割算法能限制过分割的原因是其限制了图像在进行分水岭分割时取得极小值的区域。传统分水岭算法的过度分割原因是存在大量潜在的极小值点,由于尺寸或其它原因,许多的最小值点是不相关的细节。基于标记控制的分水岭分割算法通过对图像的前景内部像素进行标记以及背景标记进行计算,并使得梯度图只能在这些标记区域取得极小值,从而有效改善了分水岭容易过分割的特点。

    具体实现的流程参考matlab关于Marker-Controlled Watershed部分的示例。点击打开链接

    本文重点介绍了在该算法中,关于前景与背景目标标定部分的改进。与示例不同的是,本文采用了多组模板,每组模板使用多个尺寸不同的模板进行形态学操作,较好的提高了标记的效果以及最终分割的效果。

    采用不同尺寸的模板的好处是,大模板对于标记前景大目标的效果较好,小模板对于标记前景小目标的效果较好。且用小模板标记大目标的极值往往也是大模板标记大目标的极值,因此两者取或就能取得较好的效果。效果图如下:




    经过相关改进后(主要是对背景目标标定时,采用自适应阈值法替代示例中的固定阈值法),最终的标记结果对比图如下:



    采用多组模板对前景目标进行标定,能有效的改善由于目标大小差异过大因此的标定错误,若对标定精确度有更大的要求,可在标定时将目标的领域关系、形状等考虑进去。
    附代码下载链接(代码除实现图像分割外,还对分割图像进行了分类)点击打开链接


    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  matlab 分水岭算法