Basic Image AlgorithmS Library
2.8.0
|
#include <Matcher2D/TrackerBaseSimple.hh>
Public Member Functions | |
void | AddDebugLevel (const long int lv) |
void | AddDebugLevel (const std::string &name) |
bool | DebugLevelIsSet (const long int lv) const |
bool | DebugLevelIsSet (const std::string &name) const |
int | GetDebugLevel () const |
std::ostream & | GetDebugStream () const |
void | GetDebugStream (std::ostream &os) const |
int | GetHalfWinSize () |
KLT_TYPE | GetMaxError () |
int | GetMaxIterations () |
int | GetRejectionType () |
void | Init (Image< StorageType > &im1, Image< StorageType > &im2, Image< StorageType > &gradx1, Image< StorageType > &grady1, Image< StorageType > &gradx2, Image< StorageType > &grady2) |
Prepare for tracking with prefiltered images. More... | |
void | Init (Image< StorageType > &im1, Image< StorageType > &im2, FilterMask &lowpass_mask, FilterMask &gradx_mask, FilterMask &grady_mask) |
Prepare for tracking with on-demand filtering. More... | |
long int | Name2DebugLevel (const std::string &name) const |
looks up a debuglevel in the internal map, returns 0 if not found More... | |
long int | NewDebugLevel (const std::string &name) |
creates a new debuglevel More... | |
void | PrintDebugLevel (std::ostream &os=std::cout) const |
void | RemoveDebugLevel (const long int lv) |
void | RemoveDebugLevel (const std::string &name) |
virtual void | SetAffineBrightnessInvariance (bool bi) |
enable brightness variance and offset invariant computation More... | |
void | SetDebugLevel (const long int lv) |
void | SetDebugLevel (const std::string &name) |
void | SetDebugStream (const std::ostream &os) |
void | SetHalfWinSize (const int hws) |
void | SetMaxError (const KLT_TYPE maxerr) |
void | SetMaxIterations (const int maxiter) |
void | SetMaxResiduumMAD (const KLT_TYPE maxres) |
!!! Also used for X84M as maximal residuum. More... | |
void | SetRejectionType (const int rejection_type) |
virtual void | SetWeightMatrix (const BIAS::Matrix< KLT_TYPE > &weight) |
void | ShowDebugLevel (std::ostream &os=std::cout) const |
prints all internally known debuglevels More... | |
int | Track (HomgPoint2D &p1, HomgPoint2D &p2, HomgPoint2D &p2tracked, KLT_TYPE &error, int &iter, KLT_TYPE &residuumMAD, KLT_TYPE &residuumMSD, Matrix< KLT_TYPE > &cov, const Matrix2x2< KLT_TYPE > &AffinePred=Matrix2x2< KLT_TYPE >(MatrixIdentity), Matrix2x2< KLT_TYPE > *AffineResult=NULL) |
Calculates correspondence from image1 to image2. More... | |
void | Track (std::vector< HomgPoint2D > &p1, std::vector< HomgPoint2D > &p2, std::vector< HomgPoint2D > &p2tracked, std::vector< KLT_TYPE > &error, std::vector< int > &numiter, std::vector< KLT_TYPE > &residuiMAD, std::vector< KLT_TYPE > &residuiMSD, std::vector< int > &res, std::vector< Matrix< KLT_TYPE > > &cov, const std::vector< Matrix2x2< KLT_TYPE > > &AffinePred=std::vector< Matrix2x2< KLT_TYPE > >(), std::vector< Matrix2x2< KLT_TYPE > > *AffineResult=NULL) |
Same as Track(), but a correspondence is searched for every point in the vector p1. More... | |
Static Public Member Functions | |
static long int | GetGlobalDebugLevel () |
static void | SetGlobalDebugLevel (long int lev) |
Protected Types | |
enum | GradientFilter { GRAD_SOBEL3X3, GRAD_FILTERMASK, GRAD_FILTERMASK_SEPARABLE } |
enum | LowpassFilter { LOWPASS_BINOMIAL3X3, LOWPASS_FILTERMASK, LOWPASS_FILTERMASK_SEPARABLE } |
Protected Member Functions | |
void | BilinearRegion1_ (KLT_TYPE x, KLT_TYPE y, int hws) |
Fills the matrices _gx1, _gy1 and _bl1 by interpolating gradients and lowpass filtered image at positions between (x-hws, y-hws) and (x+hws, y+hws). More... | |
void | BilinearRegion2_ (KLT_TYPE x, KLT_TYPE y, int hws) |
Fills the matrices _gx2, _gy2 and _bl2 by interpolating gradients and lowpass filtered image at positions between (x-hws, y-hws) and (x+hws, y+hws). More... | |
KLT_TYPE | BilinearRegionFromImages_ (KLT_TYPE x, KLT_TYPE y, int hws, Image< StorageType > &image, Image< StorageType > &gradx, Image< StorageType > &grady, Matrix< KLT_TYPE > &bl, Matrix< KLT_TYPE > &gx, Matrix< KLT_TYPE > &gy) |
Bilinear filtering using images as source (for prefiltered images) More... | |
KLT_TYPE | BilinearRegionFromMatrices_ (KLT_TYPE x, KLT_TYPE y, int hws, const Matrix< KLT_TYPE > &image, const Matrix< KLT_TYPE > &gradx, const Matrix< KLT_TYPE > &grady, Matrix< KLT_TYPE > &bl, Matrix< KLT_TYPE > &gx, Matrix< KLT_TYPE > &gy) |
Bilinear filtering using matrices as source. More... | |
KLT_TYPE | ComputeMaskSum (const FilterMask &mask) |
long | ConsumeNextFreeDebuglevel_ () |
returns the next available debuglevel More... | |
virtual void | EvaluateResult_ (KLT_TYPE &mad, KLT_TYPE &msd, Matrix< KLT_TYPE > &cov) |
Uses bl1, _bl2, _gxx, _gxy and _gyy to calculate the residui and covariance matrix and must hence be called immediatly after the Track() function call!! More... | |
KLT_TYPE | NormalizeRegion_ (Matrix< KLT_TYPE > &bl, Matrix< KLT_TYPE > &gx, Matrix< KLT_TYPE > &gy, const KLT_TYPE &min_value=-1e9) |
bring region to mean zero and stddev 1 for brightness invariance More... | |
int | RejectMAD_ (std::vector< KLT_TYPE > &sad, std::vector< int > &res) |
int | RejectX84_ (std::vector< KLT_TYPE > &ssd, std::vector< KLT_TYPE > &sad, std::vector< int > &res) |
void | Resize_ (const int halfwinsize) |
resizes the internal matrices _gx1, _gy1, _bl1, _gx2, _gy2 and _bl2 More... | |
virtual int | Track_ (Vector2< KLT_TYPE > &p1, Vector2< KLT_TYPE > &p2, Vector2< KLT_TYPE > &result, KLT_TYPE &error, int &iter, const Matrix2x2< KLT_TYPE > &AffinePred, Matrix2x2< KLT_TYPE > &AffineResult) |
Interface of all tracking algorithms implemented in derived classes. More... | |
void | FilterLowpass_ByMask (int minX, int minY, int rows, int cols, const Image< StorageType > &image, Matrix< KLT_TYPE > &out, const FilterMask &mask, KLT_TYPE maskSum) |
The lowpass filter functions apply a filter to a window of the source image and store the result in a matrix. More... | |
void | FilterLowpass_BySeparableMask (int minX, int minY, int rows, int cols, const Image< StorageType > &image, Matrix< KLT_TYPE > &out, const FilterMask &mask, KLT_TYPE maskSum) |
Lowpass filtering using a separable filter mask. More... | |
void | FilterLowpass_Binomial3x3 (int minX, int minY, int rows, int cols, const Image< StorageType > &image, Matrix< KLT_TYPE > &out) |
Optimized lowpass filtering using the binomial 3x3 filter. More... | |
void | Filter_GradXSobel3x3 (const Matrix< KLT_TYPE > &in, Matrix< KLT_TYPE > &out) |
The gradient filter functions apply a filter to an image window stored in a matrix and store the result in another matrix. More... | |
void | Filter_GradYSobel3x3 (const Matrix< KLT_TYPE > &in, Matrix< KLT_TYPE > &out) |
Optimized gradient Y sobel3x3 filter. More... | |
void | Filter_ByMask (const Matrix< KLT_TYPE > &in, Matrix< KLT_TYPE > &out, const FilterMask &mask, KLT_TYPE maskSum) |
Generic gradient filter. More... | |
void | Filter_BySeparableMask (const Matrix< KLT_TYPE > &in, Matrix< KLT_TYPE > &out, const FilterMask &mask, KLT_TYPE maskSum) |
Generic gradient filter using separable filter mask. More... | |
Protected Attributes | |
bool | _AffineBrightnessInvariance |
compute brightness "invariant" More... | |
Matrix< KLT_TYPE > | _bl1 |
Matrix< KLT_TYPE > | _bl2 |
bool | _ComputeFilteredImages |
Vector2< KLT_TYPE > | _d |
Vector2< KLT_TYPE > | _disp |
Vector2< KLT_TYPE > | _e |
Matrix2x2< KLT_TYPE > | _G |
Matrix2x2< KLT_TYPE > | _Ginv |
Image< StorageType > * | _gradim1x |
Image< StorageType > * | _gradim1y |
Image< StorageType > * | _gradim2x |
Image< StorageType > * | _gradim2y |
GradientFilter | _GradXFilter |
FilterMask | _GradXMask |
KLT_TYPE | _GradXMaskSum |
GradientFilter | _GradYFilter |
FilterMask | _GradYMask |
KLT_TYPE | _GradYMaskSum |
Matrix< KLT_TYPE > | _gsx |
Matrix< KLT_TYPE > | _gsy |
Matrix< KLT_TYPE > | _gx |
Matrix< KLT_TYPE > | _gx1 |
Matrix< KLT_TYPE > | _gx2 |
KLT_TYPE | _gxx |
KLT_TYPE | _gxy |
Matrix< KLT_TYPE > | _gy |
Matrix< KLT_TYPE > | _gy1 |
Matrix< KLT_TYPE > | _gy2 |
KLT_TYPE | _gyy |
int | _HalfWinSize |
use support window of size 2*hws+1 More... | |
KLT_TYPE | _idet |
Image< StorageType > * | _im1 |
Image< StorageType > * | _im2 |
int | _LastHalfWinSize |
long int | _liDebugLevel |
long int | _liNextDebugLevel |
new concept, debuglevel are managed here in the debug class More... | |
LowpassFilter | _LowpassFilter |
FilterMask | _LowpassMask |
KLT_TYPE | _LowpassMaskSum |
int | _LowpassWindowExtraSize |
KLT_TYPE | _MaxError |
iteration stops if position refinement is less than *_MaxError More... | |
int | _MaxIterations |
iteration stops after _MaxIterations More... | |
KLT_TYPE | _MaxResiduumMAD |
outlier rejection via MAD and More... | |
int | _maxx1 |
int | _maxx2 |
int | _maxy1 |
int | _maxy2 |
int | _minx1 |
int | _minx2 |
int | _miny1 |
int | _miny2 |
int | _RejectionType |
The rejection type: RT_MAD,RT_X84 or RT_X84M. More... | |
std::map< std::string, long int > | _String2Debuglevel |
Matrix< KLT_TYPE > | _weight |
int | _WinSize |
KLT_TYPE | dev1_ |
KLT_TYPE | dev2_ |
KLT_TYPE | mean1_ |
mean and std deviation of image patch More... | |
KLT_TYPE | mean2_ |
Static Protected Attributes | |
static std::ostream | _zDebugStream |
static long int | GlobalDebugLevel = 0 |
Definition at line 36 of file TrackerBaseSimple.hh.
|
protectedinherited |
Enumerator | |
---|---|
GRAD_SOBEL3X3 | |
GRAD_FILTERMASK | |
GRAD_FILTERMASK_SEPARABLE |
Definition at line 234 of file TrackerBaseInterface.hh.
|
protectedinherited |
Enumerator | |
---|---|
LOWPASS_BINOMIAL3X3 | |
LOWPASS_FILTERMASK | |
LOWPASS_FILTERMASK_SEPARABLE |
Definition at line 226 of file TrackerBaseInterface.hh.
|
inlineinherited |
Definition at line 355 of file Debug.hh.
Referenced by BIAS::GLProjectionParametersBase::AddDebugLevel(), BIAS::Triangulation::CorrectCorrespondences(), BIAS::FilterBase< InputStorageType, OutputStorageType >::FilterBase(), BIAS::ShowCamWxVideoSourceFactory::OpenDevice(), and BIAS::SceneOpenSceneGraph::SceneOpenSceneGraph().
|
inlineinherited |
|
inlineprotectedinherited |
Fills the matrices _gx1, _gy1 and _bl1 by interpolating gradients and lowpass filtered image at positions between (x-hws, y-hws) and (x+hws, y+hws).
Definition at line 653 of file TrackerBaseInterface.hh.
|
inlineprotectedinherited |
Fills the matrices _gx2, _gy2 and _bl2 by interpolating gradients and lowpass filtered image at positions between (x-hws, y-hws) and (x+hws, y+hws).
Definition at line 728 of file TrackerBaseInterface.hh.
|
inlineprotectedinherited |
Bilinear filtering using images as source (for prefiltered images)
Definition at line 802 of file TrackerBaseInterface.hh.
References BIAS::Image< StorageType >::GetImageDataArray().
|
inlineprotectedinherited |
Bilinear filtering using matrices as source.
Definition at line 852 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 660 of file TrackerBaseInterface.cpp.
References BIAS::Matrix< T >::GetCols(), BIAS::FilterMask::GetKernelf(), BIAS::Matrix< T >::GetRows(), BIAS::FilterMask::GetSepfh(), BIAS::FilterMask::GetSepfv(), BIAS::FilterMask::IsSeparable(), and BIAS::Vector< T >::Size().
|
inlineprotectedinherited |
|
inlineinherited |
Definition at line 341 of file Debug.hh.
Referenced by BIAS::GenSynthMatches::_AddUniformDistributedOutliers(), BIAS::GenSynthMatches::_CreateCamMovement(), BIAS::GenSynthMatches::_CreateStatic2DPoints(), BIAS::UnscentedTransform::ComputeSigmaPoints_(), BIAS::Triangulation::CorrectCorrespondences(), BIAS::GenSynthMatches::GetGTNormalizedF(), BIAS::MonteCarloTransform::GetSamples_(), and BIAS::MonteCarloTransform::Transform().
|
inlineinherited |
|
protectedvirtualinherited |
Uses bl1, _bl2, _gxx, _gxy and _gyy to calculate the residui and covariance matrix and must hence be called immediatly after the Track() function call!!
Reimplemented in BIAS::TrackerBaseAffine2< StorageType >, BIAS::TrackerBaseAffine< StorageType >, and BIAS::TrackerBaseHomography< StorageType >.
Definition at line 426 of file TrackerBaseInterface.cpp.
References BIAS::TimeMeasure::GetCycleCount(), BIAS::Matrix< T >::GetData(), BIAS::TimeMeasure::GetRealTime(), TNT::Matrix< T >::newsize(), BIAS::TimeMeasure::Start(), and BIAS::TimeMeasure::Stop().
|
inlineprotectedinherited |
Generic gradient filter.
Definition at line 578 of file TrackerBaseInterface.hh.
References BIAS::Matrix< T >::GetCols(), BIAS::FilterMask::GetKernelf(), BIAS::Matrix< T >::GetRows(), BIAS::FilterMask::IsSeparable(), and TNT::Matrix< T >::newsize().
|
inlineprotectedinherited |
Generic gradient filter using separable filter mask.
Definition at line 614 of file TrackerBaseInterface.hh.
References BIAS::Matrix< T >::GetCols(), BIAS::Matrix< T >::GetRows(), BIAS::FilterMask::GetSepfh(), BIAS::FilterMask::GetSepfv(), BIAS::FilterMask::IsSeparable(), TNT::Matrix< T >::newsize(), and BIAS::Vector< T >::Size().
|
inlineprotectedinherited |
The gradient filter functions apply a filter to an image window stored in a matrix and store the result in another matrix.
Optimized gradient X sobel3x3 filter.
Definition at line 529 of file TrackerBaseInterface.hh.
References BIAS::Matrix< T >::GetCols(), BIAS::Matrix< T >::GetRows(), and TNT::Matrix< T >::newsize().
|
inlineprotectedinherited |
Optimized gradient Y sobel3x3 filter.
Definition at line 554 of file TrackerBaseInterface.hh.
References BIAS::Matrix< T >::GetCols(), BIAS::Matrix< T >::GetRows(), and TNT::Matrix< T >::newsize().
|
inlineprotectedinherited |
Optimized lowpass filtering using the binomial 3x3 filter.
Definition at line 500 of file TrackerBaseInterface.hh.
References BIAS::Image< StorageType >::GetImageDataArray(), and TNT::Matrix< T >::newsize().
|
inlineprotectedinherited |
The lowpass filter functions apply a filter to a window of the source image and store the result in a matrix.
Lowpass filtering using a kernel filter mask.
Definition at line 424 of file TrackerBaseInterface.hh.
References BIAS::Image< StorageType >::GetImageDataArray(), BIAS::FilterMask::GetKernelf(), BIAS::FilterMask::IsSeparable(), and TNT::Matrix< T >::newsize().
|
inlineprotectedinherited |
Lowpass filtering using a separable filter mask.
Definition at line 461 of file TrackerBaseInterface.hh.
References BIAS::Image< StorageType >::GetImageDataArray(), BIAS::FilterMask::GetSepfh(), BIAS::FilterMask::GetSepfv(), BIAS::FilterMask::IsSeparable(), TNT::Matrix< T >::newsize(), and BIAS::Vector< T >::Size().
|
inlineinherited |
Definition at line 332 of file Debug.hh.
Referenced by BIAS::listenthread(), BIAS::Image< StorageType >::operator=(), and BIAS::ImageBase::operator=().
|
inlineinherited |
|
inlineinherited |
|
inlinestaticinherited |
|
inlineinherited |
Definition at line 188 of file TrackerBaseInterface.hh.
|
inlineinherited |
Definition at line 190 of file TrackerBaseInterface.hh.
|
inlineinherited |
Definition at line 189 of file TrackerBaseInterface.hh.
|
inlineinherited |
Definition at line 191 of file TrackerBaseInterface.hh.
|
inherited |
Prepare for tracking with prefiltered images.
The ROI must be set correctly in gradient images (representing the gradient filter mask size). For good results im1 and im2 should be lowpass filtered images.
im1 | (low-pass filtered) image 1 |
im2 | (low-pass filtered) image 2 |
gradx1 | horizontal gradient image of im1 |
grady1 | vertical gradient image of im1 |
gradx2 | horizontal gradient image of im2 |
grady2 | vertical gradient image of im2 |
Definition at line 145 of file TrackerBaseInterface.cpp.
References BIAS::ROI::GetCorners(), BIAS::ImageBase::GetROI(), and BIAS::ImageBase::SamePixelAndChannelCount().
Referenced by BIAS::RectificationViaProjectionMappingBase< InputStorageType, OutputStorageType >::Disp2Depth().
|
inherited |
Prepare for tracking with on-demand filtering.
Lowpass and gradient filtering is done only where needed, using the given filter masks. All filter masks must have odd size.
im1 | (low-pass filtered) image 1 |
im2 | (low-pass filtered) image 2 |
lowpass_mask | filter mask for lowpass filtering |
gradx_mask | filter mask for horizontal gradient computation |
grady_mask | filter mask for vertical gradient computation |
Definition at line 209 of file TrackerBaseInterface.cpp.
References BIAS::Matrix< T >::GetCols(), BIAS::ImageBase::GetHeight(), BIAS::FilterMask::GetKernelf(), BIAS::Matrix< T >::GetRows(), BIAS::FilterMask::GetSepfh(), BIAS::FilterMask::GetSepfv(), BIAS::ImageBase::GetWidth(), BIAS::FilterMask::IsSeparable(), BIAS::ImageBase::SamePixelAndChannelCount(), and BIAS::Vector< T >::Size().
|
inlineinherited |
|
inlineinherited |
creates a new debuglevel
Definition at line 474 of file Debug.hh.
Referenced by BIAS::COSAC< SolutionType >::COSAC(), BIAS::ProjectionParametersPerspectiveDepth::Init(), BIAS::MonteCarloTransform::MonteCarloTransform(), BIAS::PMatrixEstimation::PMatrixEstimation(), BIAS::PreemptiveRANSAC< SolutionType >::PreemptiveRANSAC(), BIAS::RANSACPreKnowledge< SolutionType >::RANSACPreKnowledge(), BIAS::ROI::ROI(), BIAS::RotationAveraging::RotationAveraging(), BIAS::SceneOpenSceneGraph::SceneOpenSceneGraph(), BIAS::ThreeDOutOpenSceneGraph::ThreeDOutOpenSceneGraph(), BIAS::Triangulation::Triangulation(), and BIAS::UnscentedTransform::UnscentedTransform().
|
inlineprotectedinherited |
bring region to mean zero and stddev 1 for brightness invariance
Definition at line 898 of file TrackerBaseInterface.hh.
References BIAS::Matrix< T >::GetData(), TNT::Matrix< T >::num_cols(), and TNT::Matrix< T >::num_rows().
|
inlineinherited |
|
protectedinherited |
Definition at line 499 of file TrackerBaseInterface.cpp.
References BIAS::TRACKER_MEANABSDIF, and BIAS::TRACKER_SUCCESS.
|
protectedinherited |
Definition at line 514 of file TrackerBaseInterface.cpp.
References BIAS::Median1D< DataType >::Compute(), BIAS::TimeMeasure::GetCycleCount(), BIAS::Median1D< DataType >::GetMedian(), BIAS::TimeMeasure::GetRealTime(), BIAS::RT_X84M, BIAS::TimeMeasure::Start(), BIAS::TimeMeasure::Stop(), BIAS::TRACKER_MEANABSDIF, BIAS::TRACKER_SUCCESS, and BIAS::TRACKER_X84.
|
inlineinherited |
|
inlineinherited |
|
inlineprotectedinherited |
resizes the internal matrices _gx1, _gy1, _bl1, _gx2, _gy2 and _bl2
Definition at line 408 of file TrackerBaseInterface.hh.
|
inlinevirtualinherited |
enable brightness variance and offset invariant computation
Reimplemented in BIAS::TrackerBaseAffine2< StorageType >, and BIAS::TrackerBaseAffine< StorageType >.
Definition at line 183 of file TrackerBaseInterface.hh.
Referenced by BIAS::RectificationViaProjectionMappingBase< InputStorageType, OutputStorageType >::Disp2Depth().
|
inlineinherited |
Definition at line 318 of file Debug.hh.
Referenced by BIAS::ShowCamWxVideoSourceFactory::CreateBumbleBee(), BIAS::ShowCamWxVideoSourceFactory::CreateDCAM(), BIAS::VideoSource_MDcam::ScanBus(), BIAS::GLProjectionParametersBase::SetDebugLevel(), BIAS::VideoSource_Disk::VideoSource_Disk(), BIAS::VideoSource_DV2::VideoSource_DV2(), BIAS::VideoSource_DV::VideoSource_DV_Internal_Init_(), and BIAS::VideoSource_V4L::VideoSource_V4L().
|
inlineinherited |
|
inlineinherited |
|
inlinestaticinherited |
|
inlineinherited |
Definition at line 164 of file TrackerBaseInterface.hh.
Referenced by BIAS::RectificationViaProjectionMappingBase< InputStorageType, OutputStorageType >::Disp2Depth().
|
inlineinherited |
Definition at line 168 of file TrackerBaseInterface.hh.
Referenced by BIAS::RectificationViaProjectionMappingBase< InputStorageType, OutputStorageType >::Disp2Depth().
|
inlineinherited |
Definition at line 166 of file TrackerBaseInterface.hh.
Referenced by BIAS::RectificationViaProjectionMappingBase< InputStorageType, OutputStorageType >::Disp2Depth().
|
inlineinherited |
!!! Also used for X84M as maximal residuum.
That is features with a residuum <= 'maxres' will be accept automatically! !!!
Definition at line 176 of file TrackerBaseInterface.hh.
Referenced by BIAS::RectificationViaProjectionMappingBase< InputStorageType, OutputStorageType >::Disp2Depth().
|
inlineinherited |
Definition at line 178 of file TrackerBaseInterface.hh.
Referenced by BIAS::RectificationViaProjectionMappingBase< InputStorageType, OutputStorageType >::Disp2Depth().
|
inlinevirtualinherited |
Reimplemented in BIAS::TrackerBaseWeighted< StorageType >.
Definition at line 193 of file TrackerBaseInterface.hh.
|
inlineinherited |
|
inherited |
Calculates correspondence from image1 to image2.
The two images and corresponding gradients must specified using the function Init() before calling this function.
The algorithm searches for best correspondence to point p1 from image1 in image2. The search starts at p2 in image 2.
All homogenous points must be homogenized (i.e. w=1.0).
The algorithms either terminates if the displacement resulting from one iteration drops below *_Maxerror or the maximum number of iterations *_MaxIterations is reached.
[in] | p1 | Point in image1 |
[in] | p2 | Algorithm starts searching at this point in image2 |
[out] | p2tracked | Best matching point in image2 |
[out] | error | Change in displacement calculated in last iteration |
[out] | iter | Number of iterations used |
[out] | residuumMAD | Mean absolute grey value difference between p1 in image 1 and p2tracked in image 2 over the tracking support window |
[out] | residuumMSD | Squared grey value difference between p1 in image 1 and p2tracked in image 2 summed over the tracking support window |
[out] | cov | Approximation to the covarinace matrix image1 and result in image2 over the tracking window (= sum of absolute difference divided by number of pixels in tracking value) |
[in] | AffinePred | Predicted affine matrix (only used in affine tracking) |
[out] | AffineResult | Result of affine tracking (only used in affine tracking) |
Definition at line 322 of file TrackerBaseInterface.cpp.
References BIAS::HomgPoint2D, BIAS::MatrixIdentity, BIAS::Matrix< T >::NormFrobenius(), and BIAS::TRACKER_IGNOREPOINT.
Referenced by BIAS::RectificationViaProjectionMappingBase< InputStorageType, OutputStorageType >::Disp2Depth().
|
inherited |
Same as Track(), but a correspondence is searched for every point in the vector p1.
Definition at line 368 of file TrackerBaseInterface.cpp.
References BIAS::TimeMeasure::GetRealTime(), BIAS::RT_Invalid, BIAS::RT_MAD, BIAS::RT_X84, BIAS::RT_X84M, BIAS::TimeMeasure::Start(), and BIAS::TimeMeasure::Stop().
|
protectedvirtual |
Interface of all tracking algorithms implemented in derived classes.
Implements BIAS::TrackerBaseInterface< StorageType >.
Definition at line 34 of file TrackerBaseSimple.cpp.
References BIAS::TimeMeasure::GetCycleCount(), BIAS::TimeMeasure::GetRealTime(), BIAS::TimeMeasure::Reset(), BIAS::TimeMeasure::Start(), BIAS::TimeMeasure::Stop(), BIAS::TRACKER_NOSTRUCTURE, BIAS::TRACKER_OUTOFIMAGE, BIAS::TRACKER_OUTOFROI, and BIAS::TRACKER_TOOMANYITER.
|
protectedinherited |
compute brightness "invariant"
Definition at line 211 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 223 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 257 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 257 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 257 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 256 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 256 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 219 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 219 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 220 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 220 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 242 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 243 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 244 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 242 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 243 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 244 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 259 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 259 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 259 of file TrackerBaseInterface.hh.
|
protectedinherited |
use support window of size 2*hws+1
Definition at line 201 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 259 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 219 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 220 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 253 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 510 of file Debug.hh.
Referenced by BIAS::Debug::operator=(), and BIAS::ImageBase::operator=().
|
protectedinherited |
new concept, debuglevel are managed here in the debug class
Definition at line 516 of file Debug.hh.
Referenced by BIAS::Debug::operator=().
|
protectedinherited |
Definition at line 241 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 243 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 244 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 245 of file TrackerBaseInterface.hh.
|
protectedinherited |
iteration stops if position refinement is less than *_MaxError
Definition at line 204 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
iteration stops after _MaxIterations
Definition at line 202 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
outlier rejection via MAD and
Definition at line 205 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 249 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 250 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 249 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 250 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 249 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 250 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 249 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 250 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
The rejection type: RT_MAD,RT_X84 or RT_X84M.
Definition at line 207 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 517 of file Debug.hh.
Referenced by BIAS::Debug::operator=().
|
protectedinherited |
Definition at line 260 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 253 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
staticprotectedinherited |
Definition at line 511 of file Debug.hh.
Referenced by BIAS::Debug::operator=().
|
protectedinherited |
Definition at line 214 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 214 of file TrackerBaseInterface.hh.
|
staticprotectedinherited |
|
protectedinherited |
mean and std deviation of image patch
Definition at line 214 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 214 of file TrackerBaseInterface.hh.