Calculates optical flow for a sparse feature set using iterative Lucas-Kanade method in pyramids

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

Syntax

         
 C#  Visual Basic  Visual C++ 
public static void PyrLK(
	Image<Gray, byte> prev,
	Image<Gray, byte> curr,
	Image<Gray, byte> prevPyrBuffer,
	Image<Gray, byte> currPyrBuffer,
	PointF[] prevFeatures,
	Size winSize,
	int level,
	MCvTermCriteria criteria,
	LKFLOW_TYPE flags,
	out PointF[] currFeatures,
	out byte[] status,
	out float[] trackError
)
Public Shared Sub PyrLK ( _
	prev As Image(Of Gray, Byte), _
	curr As Image(Of Gray, Byte), _
	prevPyrBuffer As Image(Of Gray, Byte), _
	currPyrBuffer As Image(Of Gray, Byte), _
	prevFeatures As PointF(), _
	winSize As Size, _
	level As Integer, _
	criteria As MCvTermCriteria, _
	flags As LKFLOW_TYPE, _
	<OutAttribute> ByRef currFeatures As PointF(), _
	<OutAttribute> ByRef status As Byte(), _
	<OutAttribute> ByRef trackError As Single() _
)
public:
static void PyrLK(
	Image<Gray, unsigned char>^ prev, 
	Image<Gray, unsigned char>^ curr, 
	Image<Gray, unsigned char>^ prevPyrBuffer, 
	Image<Gray, unsigned char>^ currPyrBuffer, 
	array<PointF>^ prevFeatures, 
	Size winSize, 
	int level, 
	MCvTermCriteria criteria, 
	LKFLOW_TYPE flags, 
	[OutAttribute] array<PointF>^% currFeatures, 
	[OutAttribute] array<unsigned char>^% status, 
	[OutAttribute] array<float>^% trackError
)

Parameters

prev
Image<(Of <(<'Gray, Byte>)>)>
First frame, at time t
curr
Image<(Of <(<'Gray, Byte>)>)>
Second frame, at time t + dt
prevPyrBuffer
Image<(Of <(<'Gray, Byte>)>)>
Buffer for the pyramid for the first frame. If it is not NULL, the buffer must have a sufficient size to store the pyramid from level 1 to level #level ; the total size of (image_width+8)*image_height/3 bytes is sufficient
currPyrBuffer
Image<(Of <(<'Gray, Byte>)>)>
Similar to prev_pyr, used for the second frame
prevFeatures
array<PointF>[]()[][]
Array of points for which the flow needs to be found
winSize
Size
Size of the search window of each pyramid level
level
Int32
Maximal pyramid level number. If 0 , pyramids are not used (single level), if 1 , two levels are used, etc
criteria
MCvTermCriteria
Specifies when the iteration process of finding the flow for each point on each pyramid level should be stopped
flags
LKFLOW_TYPE
Flags
currFeatures
array<PointF>[]()[][]%
Array of 2D points containing calculated new positions of input features in the second image
status
array<Byte>[]()[][]%
Array. Every element of the array is set to 1 if the flow for the corresponding feature has been found, 0 otherwise
trackError
array<Single>[]()[][]%
Array of double numbers containing difference between patches around the original and moved points

See Also