Calculates optical flow for a sparse feature set using iterative Lucas-Kanade method in pyramids
Namespace: Emgu.CVAssembly: 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
- 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
- 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