Click or drag to resize
Accord.NET (logo)

Camshift Class

Continuously Adaptive Mean Shift (Camshift) Object Tracker
Inheritance Hierarchy
SystemObject
  Accord.Vision.TrackingCamshift

Namespace:  Accord.Vision.Tracking
Assembly:  Accord.Vision (in Accord.Vision.dll) Version: 3.8.0
Syntax
public class Camshift : IObjectTracker
Request Example View Source

The Camshift type exposes the following members.

Constructors
  NameDescription
Public methodCamshift
Constructs a new Camshift tracking algorithm.
Public methodCamshift(Rectangle)
Constructs a new Camshift tracking algorithm.
Public methodCamshift(Rectangle, CamshiftMode)
Constructs a new Camshift tracking algorithm.
Public methodCamshift(UnmanagedImage, Rectangle)
Constructs a new Camshift tracking algorithm.
Public methodCamshift(UnmanagedImage, Rectangle, CamshiftMode)
Constructs a new Camshift tracking algorithm.
Top
Properties
  NameDescription
Public propertyAspectRatio
Gets or sets the desired window aspect ratio.
Public propertyConservative
Gets or sets whether the algorithm should scan only the active window or the entire image for histogram ratio.
Public propertyExtract
Gets or sets a value indicating whether the tracker should extract the object image from the source. The extracted image will be available in Image.
Public propertyHslLightnessRange
If using HSL mode, specifies the operational lightness range for the tracker.
Public propertyHslSaturationRange
If using HSL mode, specifies the operational saturation range for the tracker.
Public propertyIsSteady
Gets whether the tracking object is showing little variation of fluctuation.
Public propertyMap
Probability map
Public propertyMode
Gets or sets the mode of operation for this tracker.
Public propertySearchWindow
Gets or sets the current search window.
Public propertySmooth
Gets or sets a value indicating whether the angular movements should be smoothed using a moving average.
Public propertyTrackingObject
Gets the location of the object being tracked.
Top
Methods
  NameDescription
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetBackprojection
Generates a image of the histogram back projection
Public methodGetBackprojection(PixelFormat)
Generates a image of the histogram backprojection
Public methodGetBackprojection(PixelFormat, Rectangle)
Generates a image of the histogram backprojection
Public methodGetBackprojection(UnmanagedImage, Rectangle)
Generates a image of the histogram backprojection
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodProcessFrame
Processes a new video frame.
Public methodReset
Resets the object tracking algorithm.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Extension Methods
  NameDescription
Public Extension MethodHasMethod
Checks whether an object implements a method with the given name.
(Defined by ExtensionMethods.)
Public Extension MethodIsEqual
Compares two objects for equality, performing an elementwise comparison if the elements are vectors or matrices.
(Defined by Matrix.)
Public Extension MethodTo(Type)Overloaded.
Converts an object into another type, irrespective of whether the conversion can be done at compile time or not. This can be used to convert generic types to numeric types during runtime.
(Defined by ExtensionMethods.)
Public Extension MethodToTOverloaded.
Converts an object into another type, irrespective of whether the conversion can be done at compile time or not. This can be used to convert generic types to numeric types during runtime.
(Defined by ExtensionMethods.)
Top
Remarks

Camshift stands for "Continuously Adaptive Mean Shift". It combines the basic Mean Shift algorithm with an adaptive region-sizing step. The kernel is a step function applied to a probability map. The probability of each image pixel is based on color using a method called histogram backprojection.

The implementation of this code has used Gary Bradski's original publication, the OpenCV Library and the FaceIt implementation as references. The OpenCV library is distributed under a BSD license. FaceIt is distributed under a MIT license. The original licensing terms for FaceIt are described in the source code and in the Copyright.txt file accompanying the framework.

References:

See Also