我从这里获得了Snakes算法的代码(在MatLab中实现)
http://www.mathworks.com/matlabcentral/fileexchange/28109-snakes-active-contour-models
当你给出轮廓周围的初始索引时,它会完美地运行。但是,不幸的是,这不是我想要的。
想象一下,有一座山,我想要探测它的轮廓。但是,我只有山顶的索引。因此,初始索引是围绕该像素的索引。但是当运行算法时,蛇变得越来越小,直到消失。
我希望蛇长大直到找到轮廓。这可行吗?
答案 0 :(得分:3)
我不是专家,但我对这个主题做了一些阅读。根据我的理解,许多蛇算法在没有任何图像强制的情况下往往会缩小,因为它们惩罚了一阶导数(| x'| ^ 2的积分)并且无意中惩罚了区域。
如果您可以访问它,他们会在本文中讨论这个问题并尝试通过在成本函数中添加一个体积项来改变它以获得扩展的蛇。
http://www.springerlink.com/index/10.1007/s00791-012-0178-8
希望有所帮助。
答案 1 :(得分:0)
你想增加外力的重量(山脉轮廓在蛇点上产生的力场)并减少内力的重量(蛇的弹性,"橡皮筋"效果)。
如果你这样做,蛇的弹性会减少(橡皮筋减少)和塑料(更像是一串珠子)。