Table of Contents

Class CudaFarnebackOpticalFlow

Namespace
Emgu.CV.Cuda
Assembly
Emgu.CV.dll

Farneback optical flow

public class CudaFarnebackOpticalFlow : SharedPtrObject, IDisposable, ICudaDenseOpticalFlow, IAlgorithm
Inheritance
CudaFarnebackOpticalFlow
Implements
Inherited Members
Extension Methods

Constructors

CudaFarnebackOpticalFlow(int, double, bool, int, int, int, double, OpticalflowFarnebackFlag)

Create a CudaFarnebackOpticalFlow object

public CudaFarnebackOpticalFlow(int numLevels = 5, double pyrScale = 0.5, bool fastPyramids = false, int winSize = 13, int numIters = 10, int polyN = 5, double polySigma = 1.1, OpticalflowFarnebackFlag flags = OpticalflowFarnebackFlag.Default)

Parameters

numLevels int

The number of pyramid layers, including the initial image. levels=1 means that no extra layers are created and only the original images are used

pyrScale double

Specifies the image scale (!1) to build the pyramids for each image. pyrScale=0.5 means the classical pyramid, where each next layer is twice smaller than the previous

fastPyramids bool

Fast Pyramids

winSize int

The averaging window size; The larger values increase the algorithm robustness to image noise and give more chances for fast motion detection, but yield more blurred motion field

numIters int

The number of iterations the algorithm does at each pyramid level

polyN int

Size of the pixel neighborhood used to find polynomial expansion in each pixel. The larger values mean that the image will be approximated with smoother surfaces, yielding more robust algorithm and more blurred motion field. Typically, poly n=5 or 7

polySigma double

Standard deviation of the Gaussian that is used to smooth derivatives that are used as a basis for the polynomial expansion. For poly n=5 you can set poly sigma=1.1, for poly n=7 a good value would be poly sigma=1.5

flags OpticalflowFarnebackFlag

The operation flags

Properties

AlgorithmPtr

Pointer to the unamanged Algorithm object

public nint AlgorithmPtr { get; }

Property Value

nint

DenseOpticalFlowPtr

Pointer to the unmanaged DenseOpticalFlow object

public nint DenseOpticalFlowPtr { get; }

Property Value

nint

Methods

DisposeObject()

Release all the unmanaged memory associated with this optical flow solver.

protected override void DisposeObject()