26 #ifndef _HISTO_CONDENSATION__HH_
27 #define _HISTO_CONDENSATION__HH_
29 #include <bias_config.h>
32 #include <StateEstimator/Condensation.hh>
33 #include <Base/Image/Image.hh>
34 #include <Base/Math/Vector2.hh>
35 #include <Base/Math/Vector3.hh>
36 #include <Image/ColorHistogram.hh>
37 #include <Image/IntegralHistogram.hh>
39 #define D_COND_INT (1<<6)
74 virtual void InitModelDefaults();
76 virtual void InitPriorPositions(
unsigned int nrOfInitSamples);
78 virtual void EvaluateObservationDensities();
82 void UseIntegralHistogram(
bool bIntHisto);
94 void CheckImageQuality(
double percent,
int &shutter,
int &gain);
116 diffusionSigma_[0] = diffScale_*areaMax_[0];
117 diffusionSigma_[1] = diffScale_*areaMax_[1];
128 diffScaleSize_= diff;
129 diffusionSigma_[stateDim_-1]= diffScaleSize_*areaMax_[stateDim_-1];
143 secondOrderScale_ = scale;
144 processSecondOrderScale_.Set(secondOrderScale_);
157 firstOrderScale_ = scale;
158 processFirstOrderScale_.Set(firstOrderScale_);
173 m_dMaxRefHistoSize = double(img_->GetWidth() * img_->GetHeight())/
175 chist_.
SetBinSize(refHisto_.GetBinSize(), refHisto_.GetBinSizeSat());
176 useMultiHistogram_ =
false;
180 BIASERR(
"No actual image, can not net reference histogram.")
187 {useMultiHistogram_ = multi;}
228 double GetMaxWeight(
int &index);
286 void EvaluateFromIntegralHistoImage_();
void SetFirstOrderScale(double scale)
Sets the scale for the first order prediction, valid values are 0.0000..1 - 1.0.
IntegralHistogram intHisto_
Image< unsigned char > * img_
CONDENSATION (CONditional DENSity EstimATION) is a state estimator very similiar to the Kalman Filter...
ColorHistogram< unsigned char > refHisto2_
void SetSecondOrderScale(double scale)
Sets the scale for the second order prediction, valid values are 0.0000..1 - 1.0. ...
void SetReferenceHistogram(ColorHistogram< unsigned char > &refHisto)
sets the reference colorhistogram
ColorHistogram< unsigned char > refHisto_
double m_dMaxRefHistoSize
void SetMinWeight(double min)
Sets the minimum weight each sample is assigned, when < lower minWeight_.
ColorHistogram< unsigned char > chist_
int SetBinSize(int binsize)
set the binsize (must be divideable by 2pown)
void SetMultiHistogram(bool multi)
sets if Multihistogram is used or not, default is false
BIAS::Vector3< double > areaMin_
void SetActiveImage(Image< unsigned char > &img)
sets the present picture to compare and create new observation
class for tracking an object in an image
BIAS::Vector2< double > secondHistPos_
BIAS::Image< float > fImg_
This Class handels Integral Histograms on HSL Images It represents an integral image histogram and of...
void SetDiffScale(double diff)
Sets the scale for the diffusion, diffusi0nSigma = diffScale_*areaMax_ example value would be 0...
void SetDiffScaleSize(double diff)
Sets the scale for the diffusion for the size of the histogram , diffusionSigma[stateDim_-1] = diffSc...