cvSnakeImage

cvSnakeImage函数更新snake用于最小化它的总能量,并在梯度能量场情况下的,使其对应图像边缘的局部能量极值达到最小。它的能量包括依赖于轮廓形状的内部能量(轮廓越平滑,能量越小),依赖于能量场的外部能量。

void cvSnakeImage( const IplImage* image, CvPoint* points, int length,
                   float* alpha, float* beta, float* gamma, int coeff_usage,
                   CvSize win, CvTermCriteria criteria, int calc_gradient=1 );

image
原图像或external energy field。
points
轮廓点(snake)。
length
轮廓中点的数目。
alpha
连续性能量(continuity energy)的权重,一个浮点数,或者每个轮廓点对应一个的浮点数数字。
beta
曲率能量(curvature energy)的权重,类似alpha
gamma
图像能量(image energy)的权重,类似alpha。
coeff_usage
前三个参数使用方式的设定变量:
CV_VALUE 说明前面的alpha,beta,gamma是一个指向一个单独值的指针,每个轮廓点都是用这一相同的参数;
CV_ARRAY 说明alpha,beta,gamma是一个数组,每一个轮廓点(snake)都对应自己的一组alpha,beta,gamma值,因此,三个参数的元素个数必须和轮廓点尺寸相同;
win
每个点用于搜索最小值的邻居的范围,win.width和win.height都必须为奇数;
criteria
终止标准;
calc_gradient
梯度标志。如果非0,函数计算每个图像像素的梯度大小,并将之作为能量场;否则,输入图像本身作为能量场考虑。

参数criteria.epsilon用于定义每次迭代必须移动的最小点的数目,用于确保迭代处理运行。如果某次迭代,移动的点数少于criteria.epsilon或函数执行达到了criteria.max_iter,函数终止。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值