1.snake
snake是动态轮廓提取算法。snake有两个力,外力和内力。内力是初始轮廓自身,而外力是来自图像本身。
内力有两个控制: a,控制张力。β,控制刚性.(即,所谓的a控制连续性,平滑性。β引导曲线导向边界).
外力有四种情况:
对灰度图像:
Eext(x,y)=-|gradient [I(x,y)]| (1),即,对灰度图像求梯度。
Eext(x,y)=-|gradient [gaussain*I(x,y)]| (2),即,对灰度图像先利用高斯平滑去除noise,增强边界,然后求梯度。
注:因为梯度图的向量是由内向外,而外力应该是从外指向边界里面,所以要求负。
对二值图像(因为二值图像的边界已经很明确,所以可以不必求梯度,直接用原图,或者高斯模糊处理)
Eext(x,y)= [I(x,y)] (3)
Eext(x,y)=gaussain*I(x,y) (4)
因为初始轮廓的一个点想要取得确定的值,可以用Euler公式求:即论文中的公式(6)
由(6)可以得出,E=Fint+Fext 。 外力Fext为(1),(2),(3),(4)中的一个。
如果想要逐步得到确定的点,可以在公式中添加一个时间控制变量。即公式(7)。当x(s,t)稳定,则公式(7)=0,即(7)满足(6)
2.Gradient Vector Flow
GVF是基于snake,符合能量平衡公式 E=Fint+Fext. 而把外力Fext变为向量V.注:只有这点与snake不同
V(x,y)=[u(x,y), v(x,y)]
u(x,y)=公式(13a)
v(x,y) =公式(13b)
=================================
其他的还需看论文明白~今天先到这嘿嘿
测试了一个opencv的程序,确只拉向左上方,不知道为什么。而且速度较于MATLAB非常的慢
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/37806.html