Package org.opencv.video
Class BackgroundSubtractorKNN
java.lang.Object
org.opencv.core.Algorithm
org.opencv.video.BackgroundSubtractor
org.opencv.video.BackgroundSubtractorKNN
public class BackgroundSubtractorKNN extends BackgroundSubtractor
K-nearest neighbours - based Background/Foreground Segmentation Algorithm.
The class implements the K-nearest neighbours background subtraction described in CITE: Zivkovic2006 .
Very efficient if number of foreground pixels is low.
-
Field Summary
-
Constructor Summary
Constructors Modifier Constructor Description protected
BackgroundSubtractorKNN(long addr)
-
Method Summary
Modifier and Type Method Description static BackgroundSubtractorKNN
__fromPtr__(long addr)
protected void
finalize()
boolean
getDetectShadows()
Returns the shadow detection flag If true, the algorithm detects shadows and marks them.double
getDist2Threshold()
Returns the threshold on the squared distance between the pixel and the sample The threshold on the squared distance between the pixel and the sample to decide whether a pixel is close to a data sample.int
getHistory()
Returns the number of last frames that affect the background modelint
getkNNSamples()
Returns the number of neighbours, the k in the kNN.int
getNSamples()
Returns the number of data samples in the background modeldouble
getShadowThreshold()
Returns the shadow threshold A shadow is detected if pixel is a darker version of the background.int
getShadowValue()
Returns the shadow value Shadow value is the value used to mark shadows in the foreground mask.void
setDetectShadows(boolean detectShadows)
Enables or disables shadow detectionvoid
setDist2Threshold(double _dist2Threshold)
Sets the threshold on the squared distancevoid
setHistory(int history)
Sets the number of last frames that affect the background modelvoid
setkNNSamples(int _nkNN)
Sets the k in the kNN.void
setNSamples(int _nN)
Sets the number of data samples in the background model.void
setShadowThreshold(double threshold)
Sets the shadow thresholdvoid
setShadowValue(int value)
Sets the shadow valueMethods inherited from class org.opencv.core.Algorithm
clear, empty, getDefaultName, getNativeObjAddr, save
-
Constructor Details
-
Method Details
-
__fromPtr__
-
getHistory
Returns the number of last frames that affect the background model- Returns:
- automatically generated
-
setHistory
Sets the number of last frames that affect the background model- Parameters:
history
- automatically generated
-
getNSamples
Returns the number of data samples in the background model- Returns:
- automatically generated
-
setNSamples
Sets the number of data samples in the background model. The model needs to be reinitalized to reserve memory.- Parameters:
_nN
- automatically generated
-
getDist2Threshold
Returns the threshold on the squared distance between the pixel and the sample The threshold on the squared distance between the pixel and the sample to decide whether a pixel is close to a data sample.- Returns:
- automatically generated
-
setDist2Threshold
Sets the threshold on the squared distance- Parameters:
_dist2Threshold
- automatically generated
-
getkNNSamples
Returns the number of neighbours, the k in the kNN. K is the number of samples that need to be within dist2Threshold in order to decide that that pixel is matching the kNN background model.- Returns:
- automatically generated
-
setkNNSamples
Sets the k in the kNN. How many nearest neighbours need to match.- Parameters:
_nkNN
- automatically generated
-
getDetectShadows
Returns the shadow detection flag If true, the algorithm detects shadows and marks them. See createBackgroundSubtractorKNN for details.- Returns:
- automatically generated
-
setDetectShadows
Enables or disables shadow detection- Parameters:
detectShadows
- automatically generated
-
getShadowValue
Returns the shadow value Shadow value is the value used to mark shadows in the foreground mask. Default value is 127. Value 0 in the mask always means background, 255 means foreground.- Returns:
- automatically generated
-
setShadowValue
Sets the shadow value- Parameters:
value
- automatically generated
-
getShadowThreshold
Returns the shadow threshold A shadow is detected if pixel is a darker version of the background. The shadow threshold (Tau in the paper) is a threshold defining how much darker the shadow can be. Tau= 0.5 means that if a pixel is more than twice darker then it is not shadow. See Prati, Mikic, Trivedi and Cucchiara, Detecting Moving Shadows...*, IEEE PAMI,2003.- Returns:
- automatically generated
-
setShadowThreshold
Sets the shadow threshold- Parameters:
threshold
- automatically generated
-
finalize
- Overrides:
finalize
in classBackgroundSubtractor
- Throws:
Throwable
-