B 添加义项

?

分水岭算法的概念及原理:

分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。分水岭的概念和形成可以通过模拟浸入过程来说明。在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢浸入水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展,在两个集水盆汇合处构筑大坝,即形成分水岭。分水岭的计算过程是一个迭代标注过程。分水岭比较经典的计算方法是L. Vincent提出的。在该算法中,分水岭计算分两个步骤,一个是排序过程,一个是淹没过程。首先对每个像素的灰度级进行从低到高排序,然后在从低到高实现淹没过程中,对每一个局部极小值在h阶高度的影响域采用先进先出(FIFO)结构进行判断及标注。分水岭变换得到的是输入图像的集水盆图像,集水盆之间的边界点,即为分水岭。显然,分水岭表示的是输入图像极大值点。因此,为得到图像的边缘信息,通常把梯度图像作为输入图像,即

g(x,y)=grad(f(x,y))={[f(x,y)-f(x-1,y)]2[f(x,y)-f(x,y-1)]2}0.5

式中,f(x,y)表示原始图像,grad{.}表示梯度运算。分水岭算法对微弱边缘具有良好的响应,图像中的噪声、物体表面细微的灰度变化,都会产生过度分割的现象。但同时应当看出,分水岭算法对微弱边缘具有良好的响应,是得到封闭连续边缘的保证的。另外,分水岭算法所得到的封闭的集水盆,为分析图像的区域特征提供了可能。为消除分水岭算法产生的过度分割,通常可以采用两种处理方法,一是利用先验知识去除无关边缘信息。二是修改梯度函数使得集水盆只响应想要探测的目标。为降低分水岭算法产生的过度分割,通常要对梯度函数进行修改,一个简单的方法是对梯度图像进行阈值处理,以消除灰度的微小变化产生的过度分割。即

g(x,y)=max(grad(f(x,y)),gθ)

式中,gθ表示阈值。程序可采用方法:用阈值限制梯度图像以达到消除灰度值的微小变化产生的过度分割,获得适量的区域,再对这些区域的边缘点的灰度级进行从低到高排序,然后在从低到高实现淹没的过程,梯度图像用Sobel算子计算获得。对梯度图像进行阈值处理时,选取合适的阈值对最终分割的图像有很大影响,因此阈值的选取是图像分割效果好坏的一个关键。缺点:实际图像中可能含有微弱的边缘,灰度变化的数值差别不是特别明显,选取阈值过大可能会消去这些微弱边缘。

转自:分水岭算法的概念及原理

【Matlab学习笔记】【数学形态学】分水岭分割算法相关推荐

  1. matlab迭代分水岭分割,matlab分水岭分割算法

    single [-1, 1] double 17-17 17-17 Normalized Difference Vegetation Index NDVI with Threshold Applied ...

  2. 基于matlab山脊线,基于Matlab的标记分水岭分割算法

    lyqmath 1 综述 Separating touching objects in an image is one of the more difficult image processing o ...

  3. 基于Matlab的标记分水岭分割算法(imreconstruct)

    1 综述 Separating touching objects in an image is one of the more difficult image processing operation ...

  4. MATLAB学习笔记2:MATLAB基础知识(下)

    阅读前请注意: 1. 该学习笔记是华中师范大学HelloWorld程序设计协会2021年寒假MATLAB培训的学习记录,是基于培训课堂内容的总结归纳.拓展阅读.博客内容由 @K2SO4钾 撰写.编辑, ...

  5. 数字图像处理MATLAB学习笔记(五)

    数字图像处理MATLAB学习笔记(五) Color Image Processing 1 Color Image Representation in MATLAB 这里不多说了,彩色图片在计算机中以R ...

  6. MATLAB学习笔记(二)

    MATLAB学习笔记(二) 一.矩阵运算 矩阵分析 向量和矩阵的范数运算 矩阵的秩 矩阵的化零矩阵 矩阵的化简rref()函数 线性方程组 超定线性方程组求解 矩阵分解 1.对称正定矩阵的Choles ...

  7. MATLAB学习笔记——二维和三维绘图

    MATLAB学习笔记--二维和三维绘图 近期练习matlab的二维和三维绘图,整理一下,以防忘记. 文章目录 MATLAB学习笔记--二维和三维绘图 一.二维绘图 1.plot命令 2.fplot 命 ...

  8. MATLAB学习笔记(八)

    MATLAB学习笔记(八) 一.二维曲线 1.1 plot函数 1.2 fplot函数 二.绘制图形的辅助操作 2.1 图形标注 2.2 坐标控制 2.3 图形保持 2.4 图形窗口分割 三.其他形式 ...

  9. B站台湾大学郭彦甫|MATLAB 学习笔记|13 统计 Statistics__Data_Analysis

    MATLAB学习笔记(13 统计 Statistics_&_Data_Analysis) 如想获得更好体验,可以转到下面链接:13 文章目录 MATLAB学习笔记(13 统计 Statisti ...

  10. MATLAB学习笔记5:绘图基础与数据可视化(中)

    阅读前请注意: 1. 该学习笔记是华中师范大学HelloWorld程序设计协会2021年寒假MATLAB培训的学习记录,是基于培训课堂内容的总结归纳.拓展阅读.博客内容由 @K2SO4钾 撰写.编辑, ...

最新文章

  1. Atitit.jpg png格式差别以及解决jpg图片不显示的问题
  2. thinkphp概述
  3. Google Protocol Buffers和java字符串处理控制
  4. unique_ptr使用介绍
  5. java 集合类简单的分析1
  6. MySQL学习笔记:MySQL管理
  7. 46.Android 自己定义Dialog
  8. 中移苏研大规模资源高可用研究及实践
  9. lopatkin俄大神精简中文系统Windows 8.1 Pro 19599 x86-x64 ZH-CN SM
  10. cad中lisp文件给恶作剧_AutoCAD小秘密062:紧急插播,关于LISP的病毒防治
  11. 华为设备推送syslog到日志服务器配置
  12. 手把手教你几种生成词云的方式
  13. 腾讯的内外社区实践及未来开源布局
  14. 针对《面试心得与总结—BAT、网易、蘑菇街》一文中出现的技术问题的收集与整理...
  15. 2015ccpc——G - Ancient Go
  16. 《流浪地球 2》 Deepfake 小试牛刀,45+ 吴京「被」年轻,变身 21 岁小鲜肉
  17. SourceInsight 软件乱码问题
  18. vue项目中的h5图片上传(处理上传的时候图片被旋转的问题,并压缩图片大小)
  19. 邻接矩超详解(C/C++)
  20. 全局优化的改进鸡群算法-附代码

热门文章

  1. GDB使用gdb-stl-views打印STL容器元素
  2. C++ 哪些不能为虚函数
  3. php 正则忽略空白,(PHP)正则表达式-忽略空白
  4. java图形化元件竖直排列_Java:图形化比较排序
  5. java导出excel弹出下载框_JavaWeb导出Excel文件并弹出下载框
  6. springmvc请求参数绑定
  7. c语言课程设计物业管理,C语言-小区物业管理-实验报告
  8. java多线程条件变量_30秒带你读懂Java并发包工具(JUC)之Condition(并发条件变量)...
  9. ae导出json_AE脚本导出json格式的Web动画工具 Bodymovin v5.7.0 + 使用教程【资源分享1171】...
  10. 电脑系统哪个好用_火绒杀毒,真有那么好用吗?