|
Developer Documentation |
|
Centre for Vision, Speech & Signal Processing |
|
PUBLIC |
MultiMatchMotEstC::MultiMatchMotEstC(void)
MultiMatchMotEstC::MultiMatchMotEstC(const DoubleImageC &,const DoubleImageC &,MultiLevelC,const ImageRectangleC &,const NumMagnitudeRobustC &,const VectorC &)
MultiMatchMotEstC::Estimate(const IntImageC &,int,const PixelC &) const
MultiMatchMotEstC::Estimate(const ImageC &,NumLabelC,const PixelC &) const
MultiMatchMotEstC::GetMCError(const VectorC &,const IntImageC &,int,const PixelC &) const
MultiMatchMotEstC::GetMCError(const VectorC &,const ImageC &,NumLabelC,const PixelC &) const
MultiMatchMotEstC::GetAbsDiffImage(const VectorC &,const IntImageC &,int,const PixelC &) const
MultiMatchMotEstC::GetAbsDiffImage(const VectorC &,const ImageC &,NumLabelC,const PixelC &) const
MultiMatchMotEstC::MultiMatchMotEstC(MultiMatchMotEstBC &)
MultiMatchMotEstC::Body(void)
MultiMatchMotEstC::Body(void) const
MultiMatchMotEstBaseC::Body(void)
MultiMatchMotEstBaseC::Body(void) const
MultiMatchMotEstBaseC::Estimate(const IntImageC &,int,const PixelC &) const
MultiMatchMotEstBaseC::Estimate(const ImageC &,NumLabelC,const PixelC &) const
MultiMatchMotEstBaseC::GetMCError(const VectorC &,const IntImageC &,int,const PixelC &) const
MultiMatchMotEstBaseC::GetMCError(const VectorC &,const ImageC &,NumLabelC,const PixelC &) const
MultiMatchMotEstBaseC::GetAbsDiffImage(const VectorC &,const IntImageC &,int,const PixelC &) const
MultiMatchMotEstBaseC::GetAbsDiffImage(const VectorC &,const ImageC &,NumLabelC,const PixelC &) const
MultiMatchMotEstBaseC::operator<<(ostream &,const MultiMatchMotEstBaseC &)
MultiMatchMotEstBaseC::operator>>(istream &,MultiMatchMotEstBaseC &)
RCHandleAC::Abstract(void)
RCHandleAC::IsHandleType(const DT &) const
RCHandleAC::CheckHandleType(const DT &) const
RCHandleAC::Save(ostream &) const
RCHandleAC::Copy(void) const
RCHandleC::IsValid(void) const
RCHandleC::IsValidObject(void) const
RCHandleC::operator=(const RCHandleC &)
RCHandleC::operator==(const RCHandleC &) const
RCHandleC::operator!=(const RCHandleC &) const
RCHandleC::Hash(void) const
RCHandleC::IsConst(void) const
RCHandleC::IsNotConst(void) const
RCHandleC::SetConst(void) const
RCHandleC::Invalidate(void)
RCHandleC::Body(void)
RCHandleC::Body(void) const
|
Comments:
Class for motion estimation. The algorithm is based on matching the
required patch on the reference frame to the corresponding one in the
other frame. The patch can be of arbitrary shape and is defined by a mask.
The scheme for deciding where to move the patch is defined by the
optimisation algorithm (see Optimisation). The match measure is
defined by the cost function (see Cost Functions).
It has been attempted to provide some flexibility within
this class. However users who would like a different scheme for motion
estimation should write another class similar to this one.
Acknowledgements to everyone who has worked on motion estimation before me
in the group.
Parent Classes:
Methods:
- MultiMatchMotEstC()
-
Default constructor
- MultiMatchMotEstC(const DoubleImageC & reference_frame,const DoubleImageC & other_frame,MultiLevelC multilevel,const ImageRectangleC & search_window = ImageRectangleC(-16,16,-16,16),const NumMagnitudeRobustC & metric = NumMagnitudeRobustC(256,NumMagnitudeCityBlockC()),const VectorC & start_motion_vector = VectorC())
-
Constructor from images
| reference_frame | the reference frame |
| other_frame | other frame in which to search for a match |
| multilevel | the number of levels to be used for motion estimation |
| motion_model | the motion model; at present the motion models allowed are TRANSLATIONAL, QUASI_AFFINE, AFFINE and PERSPECTIVE. |
| search_window | sets the range over which translational motion parameters are searched for |
| metric | a robust metric (see here for more info) |
|
- VectorC Estimate(const IntImageC & mask,int in_label,const PixelC & origin) const
-
Estimate motion parameters for patch.
Returns the motion vector for the patch defined by those pixels in mask which have the value in_label.
The origin of the coordinate system must be specified. Care must be taken during motion compensation to use the same coordinate system as during motion estimation.
- VectorC Estimate(const ImageC<NumLabelC> & mask,NumLabelC in_label,const PixelC & origin) const
-
Estimate motion parameters for patch.
- DoubleImageC GetMCError(const VectorC & dP,const IntImageC & mask,int in_label,const PixelC & origin) const
-
Returns the motion compensated error; the error is calculated using the 2nd level pair of images if the 2nd level exists
- DoubleImageC GetMCError(const VectorC & dP,const ImageC<NumLabelC> & mask,NumLabelC in_label,const PixelC & origin) const
-
Returns the motion compensated error; the error is calculated using the 2nd level pair of images if the 2nd level exists
- DoubleImageC GetAbsDiffImage(const VectorC & dP,const IntImageC & mask,int in_label,const PixelC & origin) const
-
Returns the motion compensated absolute difference; the error is calculated using the 2nd level pair of images if the 2nd level exists
- DoubleImageC GetAbsDiffImage(const VectorC & dP,const ImageC<NumLabelC> & mask,NumLabelC in_label,const PixelC & origin) const
-
Returns the motion compensated absolute difference; the error is calculated using the 2nd level pair of images if the 2nd level exists
- MultiMatchMotEstC(MultiMatchMotEstBC<MotModelT,OptimiserT> & bod)
-
Constructor from the body class
- MultiMatchMotEstBC<MotModelT,OptimiserT> & Body()
-
Access Body
- const MultiMatchMotEstBC<MotModelT,OptimiserT> & Body() const
-
Access Body
- MultiMatchMotEstBaseBodyC & Body()
-
Access body.
This isn't really needed, they're just to ensure
all derived classes work properly.
- const MultiMatchMotEstBaseBodyC & Body() const
-
Constant access body.
This isn't really needed, they're just to ensure
all derived classes work properly.
- VectorC Estimate(const IntImageC & mask,int in_label,const PixelC & origin) const
-
Estimate the motion vector
- VectorC Estimate(const ImageC<NumLabelC> & mask,NumLabelC in_label,const PixelC & origin) const
-
Estimate the motion vector
- DoubleImageC GetMCError(const VectorC & dP,const IntImageC & mask,int in_label,const PixelC & origin) const
-
Returns the motion compensated error
- DoubleImageC GetMCError(const VectorC & dP,const ImageC<NumLabelC> & mask,NumLabelC in_label,const PixelC & origin) const
-
Returns the motion compensated error
- DoubleImageC GetAbsDiffImage(const VectorC & dP,const IntImageC & mask,int in_label,const PixelC & origin) const
-
Returns the motion compensated absolute difference
- DoubleImageC GetAbsDiffImage(const VectorC & dP,const ImageC<NumLabelC> & mask,NumLabelC in_label,const PixelC & origin) const
-
Returns the motion compensated absolute difference Friends -------
- ostream & operator<<(ostream & s,const MultiMatchMotEstBaseC & out)
-
output stream operator
- istream & operator>>(istream & s,MultiMatchMotEstBaseC & in)
-
input stream operator
- RCAbstractC Abstract()
-
Create an abstract handle to this object.
- BooleanT IsHandleType(const DT &) const
-
Is handle of given type ?
- void CheckHandleType(const DT & dummy) const
-
Check handle type. Throw an expception if not.
- BooleanT Save(ostream & out) const
-
Save to ostream.
- RCHandleAC<MultiMatchMotEstBaseBodyC> Copy() const
-
Creat a deep copy of this object.
protected:
- BooleanT IsValid() const
-
Check its a valid handle.
- BooleanT IsValidObject() const
-
Check its a valid handle, and that the object is pointed to is also valid.
- RCHandleC<MultiMatchMotEstBaseBodyC> & operator=(const RCHandleC<MultiMatchMotEstBaseBodyC> & oth)
-
Assignment.
- BooleanT operator==(const RCHandleC<MultiMatchMotEstBaseBodyC> & oth) const
-
Comparison operator.
- BooleanT operator!=(const RCHandleC<MultiMatchMotEstBaseBodyC> & oth) const
-
Comparison operator.
- UIntT Hash() const
-
Hash function.x
- BooleanT IsConst() const
-
Is object constant ?
- BooleanT IsNotConst() const
-
Is object not constant ?
- void SetConst(void) const
-
Lock the object.
This is const as a convience though it actual modified the
object, often object you wish to ensure are constant already
have const set.
protected:
- void Invalidate()
-
Turn this into an invalid handle.
- MultiMatchMotEstBaseBodyC & Body()
-
Direct access to body.
- const MultiMatchMotEstBaseBodyC & Body() const
-
Constant access to body.
|
Programmer:Ratna Rambaruth, Documentation by CxxDoc: Tue Mar 20 10:49:27 2001
|