1987年由 Kass 等人提出的主动轮廓模型即蛇模型(snake 模型)

M. Kass, A.P. Witkin, D. Terzopoulos. Snakes: Active Contour Models.International Journal of Computer Vision.1987, 1(4): 321~331.

该方程:基于能量泛函法。

曲线几何特征:方向-单位法向量;弯曲程度-曲率;曲率:单位弧段上切线转过的角度。角度逼上弧度去极限值。

曲线演化:曲线都存在曲率,也就存在着法向曲率力(曲率的二阶导数),会在法向曲率力下退化为圆,圆的法向曲率力指向圆心,因此最终状态是曲线消散。

在曲率演化的时候正负之分:向内为负,向外为正。
Snakes模型构建:C(s)=[X(s),Y(s)],具体的定义为一组点[X,Y],自变量为s---傅里叶变形体。

Snakes能量泛函为:

第一项为轮廓C的弹性能量,第二项为轮廓C的弯曲能量=====这两项统称为内能。前者使轮廓不易被拉伸,后者使其不易弯曲 。两者的目的是使轮廓C的一阶导数和二阶导数曲线积分最小。这两项在一些论文中作为正则项出现,最终使轮廓为光滑连续曲线。仅和Snakes轮廓有关,和图像无关。其中系数α和β与轮廓伸展和弯曲程度有关。

第三项为外部能量。它的目的是使曲线收敛于目标边缘。F(C(s))为关于待分割图像u0梯度递减的函数:

通过求解能量E最小,进而实现区域划分。其中第一项弹性能量---轮廓压缩成圆;第二项弯曲能量---轮廓成光滑曲线;第三项图像力---轮廓向图像高梯度靠拢。

Snakes模型通过曲线轮廓和图像匹配的结合得到较好的结果。

当然这样说大家理解起来比较模棱两可,咱们上升到程序层面:

我们要想理解一个程序或者一个方程时,我们就需要先要了解它的输入和输出是什么

程序输入为:我们自己画的一个框的每一个坐标点;图像沿横轴的梯度和沿纵轴的梯度(梯度在图像中多用差分来表示,例如:横向的梯度为第二列矩阵与第一列与第三列的差值除以2,以此类推。);原始图像。我们的输入也就是这些。

变化坐标为x2=alpha*(|x1-x2|+|x3-x2|)/2+gamma*该点沿x方向的差分,同理y也是这样的。(这块要是前一个点和后一个点到中间点距离相等,那么就变到了中间点)

最后x,y的每点坐标就是这样变化的,一个不太像snakes的方法,可是基本原理是相近的。

程序输出为:新的坐标(x,y)来画图进而把图像框起来。

图像分割法-snake相关推荐

  1. php 字符串转驼峰,zhouqq - PHP 蛇形命名法(snake case)和驼峰命名法(camel case) 相互转换...

    知道什么是蛇形命名法(snake case)和驼峰命名法(camel case)吗? snake case类似于这样: file_name. line_number. my_first_program ...

  2. 最全综述 | 图像分割算法

    原文链接传送 图像分割是计算机视觉研究中的一个经典难题,已经成为图像理解领域关注的一个热点,图像分割是图像分析的第一步,是计算机视觉的基础,是图像理解的重要组成部分,同时也是图像处理中最困难的问题之一 ...

  3. 【图像分割】基于迭代阙值选择、最大类间差、区域生长多种算法实现图像分割含Matlab源码

    1 简介 重点讨论了图像分割法中的阈值研究法,包括迭代阙值选择.最大类间差.区域生长进行了重点分析,用Matlab进行实现并给出了实验结果. 2 部分代码 function varargout = I ...

  4. 基于MATLAB的图像分割系统

    摘要:数字图像处理是利用计算机对图像信息进行各种变换处理的技术和方法.本文主要介绍了数字图像处理和图像中区域特征检测的原理,以及MATLAB在数字图像处理中的应用.本次设计主要研究了数字图像处理中图像 ...

  5. 【综述】数学系小白入门图像分割

    声明:本文是转载他人作品,加入了自己理解和学习的过程. 图像分割是计算机视觉研究中的一个经典难题,已经成为图像理解领域关注的一个热点,图像分割是图像分析的第一步,是计算机视觉的基础,是图像理解的重要组 ...

  6. 【图像分割】基于matlab灰狼算法二维oust图像分割【含Matlab源码 2574期】

    ⛄一. 灰狼算法简介 1 前言 灰狼优化算法(Grey Wolf Optimizer,GWO)由澳大利亚格里菲斯大学学者 Mirjalili 等人于2014年提出来的一种群智能优化算法.该算法受到了灰 ...

  7. 图像分割---基于阈值处理的基本方法

    文章目录 前言 一.基于阈值的分割方法 1.1 固定阈值法--直方图双峰法 1.2 迭代阈值图像分割 1.3 自适应阈值图像分割 1.3.1 常规方法 1.3.2 大津法(OTSU) 参考文献: 前言 ...

  8. Active Contour Models 主动轮廓模型

    参考博客: https://www.mathworks.com/matlabcentral/fileexchange/19567-active-contour-segmentation 数字图像处理- ...

  9. 《Matlab图像处理》part1 Snakes:Active Contour Models 主动轮廓模型

    <Matlab图像处理>part1 Snakes:Active Contour Models 主动轮廓模型 参考博客: 数字图像处理-图像分割:Snake主动轮廓模型 Matlab代码及运 ...

  10. 分水岭算法分割图像的原理概述及OpenCV代码实现

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 前面博文中提到的图像阈值化,图像边缘检测,图像轮 ...

最新文章

  1. awk 脚本中使用正则表达式
  2. SQLSERVER 查询存储过程内容,主要是通过关键词查询相关的存储过程使用
  3. C语言结构体通过 scanf初始化
  4. matlab 实现多维作图函数(slice)
  5. Python3 django2.0 字段加密 解密 AES
  6. Neo4j:遍历查询超时
  7. flutter 一个用户登录页面
  8. 当对象转换成JSON的时候处理时间格式
  9. @service注解_SpringBoot最最最常用的注解梳理
  10. [python机器学习及实践(2)]Sklearn实现朴素贝叶斯
  11. fiddler注释_FIDDLER的使用方法及技巧总结
  12. 转:认知盈余时代,知乎是如何运营的
  13. MATLAB中cfl,教程合集 | MATLAB绘图基本操作与属性
  14. 服务器背板fw信息,无纸化会议应用系统服务器 HG-FW02Z
  15. 软件开发的里程碑简单概念
  16. 如何给一个App起名字?
  17. 挺全的HTML、CSS整理笔记
  18. nand读寿命_Nand Flash的擦写次数与使用寿命
  19. 关于props的值,从哪来到哪去,什么时候要用到props。
  20. ミストレア / 晶弓

热门文章

  1. html中在线取色器,在线取色器(ColorPicker)的制造方式
  2. GoEasy小程序即时通讯源码 v1.1.0/基于GoEasy提供的websocket通讯服务
  3. python 坦克大战游戏
  4. python记账app开发_Python之区块链简单记账本实现
  5. php gmssl,GmSSL是什么
  6. SpringBoot项目对接短信平台Demo
  7. 错误码应该如何设计?
  8. Cadence Allegro学习之PCB封装库的导出
  9. python模拟用户数据
  10. 如何在物联网低代码平台中使用数据字典功能?