Updates snake in order to minimize its total energy that is a sum of internal energy that depends on contour shape (the smoother contour is, the smaller internal energy is) and external energy that depends on the energy field and reaches minimum at the local energy extremums that correspond to the image edges in case of image gradient.

Namespace: Emgu.CV
Assembly: Emgu.CV (in Emgu.CV.dll) Version: (


public Contour<Point> Snake(
	Seq<Point> contour,
	float alpha,
	float beta,
	float gamma,
	Size windowSize,
	MCvTermCriteria tc,
	MemStorage storage
Visual Basic
Public Function Snake ( _
	contour As Seq(Of Point), _
	alpha As Single, _
	beta As Single, _
	gamma As Single, _
	windowSize As Size, _
	tc As MCvTermCriteria, _
	storage As MemStorage _
) As Contour(Of Point)
Visual C++
Contour<Point>^ Snake(
	Seq<Point>^ contour, 
	float alpha, 
	float beta, 
	float gamma, 
	Size windowSize, 
	MCvTermCriteria tc, 
	MemStorage^ storage


Type: Emgu.CV..::..Seq<(Of <(<'Point>)>)>
Some existing contour
Type: System..::..Single
Weight[s] of continuity energy, single float or array of length floats, one per each contour point
Type: System..::..Single
Weight[s] of curvature energy, similar to alpha.
Type: System..::..Single
Weight[s] of image energy, similar to alpha.
Type: System.Drawing..::..Size
Size of neighborhood of every point used to search the minimum, both win.width and win.height must be odd
Type: Emgu.CV.Structure..::..MCvTermCriteria
Termination criteria. The parameter criteria.epsilon is used to define the minimal number of points that must be moved during any iteration to keep the iteration process running. If at some iteration the number of moved points is less than criteria.epsilon or the function performed criteria.max_iter iterations, the function terminates.
Type: Emgu.CV..::..MemStorage
The memory storage used by the resulting sequence

Return Value

The snake[d] contour

See Also