Emgu CV Library Documentation
cvCalcOpticalFlowBM Method (prev, curr, blockSize, shiftSize, maxRange, usePrevious, velx, vely)
NamespacesEmgu.CVCvInvokecvCalcOpticalFlowBM(IntPtr, IntPtr, Size, Size, Size, Int32, IntPtr, IntPtr)

www.emgu.com/wiki
Calculates optical flow for overlapped blocks block_size.width * block_size.height pixels each, thus the velocity fields are smaller than the original images. For every block in prev the functions tries to find a similar block in curr in some neighborhood of the original block or shifted by (velx(x0,y0),vely(x0,y0)) block as has been calculated by previous function call (if use_previous=1)
Declaration Syntax
C#Visual BasicVisual C++
public static void cvCalcOpticalFlowBM(
	IntPtr prev,
	IntPtr curr,
	Size blockSize,
	Size shiftSize,
	Size maxRange,
	int usePrevious,
	IntPtr velx,
	IntPtr vely
)
Public Shared Sub cvCalcOpticalFlowBM ( _
	prev As IntPtr, _
	curr As IntPtr, _
	blockSize As Size, _
	shiftSize As Size, _
	maxRange As Size, _
	usePrevious As Integer, _
	velx As IntPtr, _
	vely As IntPtr _
)
public:
static void cvCalcOpticalFlowBM(
	IntPtr prev, 
	IntPtr curr, 
	Size blockSize, 
	Size shiftSize, 
	Size maxRange, 
	int usePrevious, 
	IntPtr velx, 
	IntPtr vely
)
Parameters
prev (IntPtr)
First image, 8-bit, single-channel.
curr (IntPtr)
Second image, 8-bit, single-channel.
blockSize (Size)
Size of basic blocks that are compared.
shiftSize (Size)
Block coordinate increments.
maxRange (Size)
Size of the scanned neighborhood in pixels around block.
usePrevious (Int32)
Uses previous (input) velocity field.
velx (IntPtr)
Horizontal component of the optical flow of floor((prev->width - block_size.width)/shiftSize.width) x floor((prev->height - block_size.height)/shiftSize.height) size, 32-bit floating-point, single-channel.
vely (IntPtr)
Vertical component of the optical flow of the same size velx, 32-bit floating-point, single-channel.

Assembly: Emgu.CV (Module: Emgu.CV) Version: 1.5.0.0 (1.5.0.0)