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

C# | Visual Basic | Visual C++ |
public static void PyrLK( Image<Gray, byte> prev, Image<Gray, byte> curr, PointF[] prevFeatures, Size winSize, int level, MCvTermCriteria criteria, 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), _ prevFeatures As PointF(), _ winSize As Size, _ level As Integer, _ criteria As MCvTermCriteria, _ <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, array<PointF>^ prevFeatures, Size winSize, int level, MCvTermCriteria criteria, [OutAttribute] array<PointF>^% currFeatures, [OutAttribute] array<unsigned char>^% status, [OutAttribute] array<float>^% trackError )

- 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
- 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