|
User Documentation |
|
Centre for Vision, Speech & Signal Processing |
|
PUBLIC |
MatchMotEstC::MatchMotEstC(void)
MatchMotEstC::MatchMotEstC(const DoubleImageC &,const DoubleImageC &,const ImageRectangleC &,const NumMagnitudeRobustC &,const VectorC &)
MatchMotEstC::Estimate(const IntImageC &,int,const PixelC &)
MatchMotEstC::Estimate(const IntImageC &,int,const PixelC &,MultiLevelC)
MatchMotEstC::GetMCError(const VectorC &,const IntImageC &,int,const PixelC &)
MatchMotEstC::GetMCError(const VectorC &,const IntImageC &,int,const PixelC &,const DoubleImageC &,const DoubleImageC &)
MatchMotEstC::GetMCImage(const DoubleImageC &,const VectorC &,const IntImageC &,int,const PixelC &)
MatchMotEstC::GetMCMask(const VectorC &,const IntImageC &,int,const PixelC &)
MatchMotEstC::ConstructAffineVector(const VectorC &)
MatchMotEstC::ConstructNormalVector(const Affine2dC &)
MatchMotEstBaseC::Estimate(const IntImageC &,int,const PixelC &)
MatchMotEstBaseC::Estimate(const IntImageC &,int,const PixelC &,MultiLevelC)
MatchMotEstBaseC::GetMCError(const VectorC &,const IntImageC &,int,const PixelC &)
MatchMotEstBaseC::GetMCError(const VectorC &,const IntImageC &,int,const PixelC &,const DoubleImageC &,const DoubleImageC &)
MatchMotEstBaseC::GetMCImage(const DoubleImageC &,const VectorC &,const IntImageC &,int,const PixelC &)
MatchMotEstBaseC::GetMCMask(const VectorC &,const IntImageC &,int,const PixelC &)
MatchMotEstBaseC::ConstructAffineVector(const VectorC &)
MatchMotEstBaseC::ConstructNormalVector(const Affine2dC &)
MatchMotEstBaseC::operator<<(ostream &,const MatchMotEstBaseC &)
MatchMotEstBaseC::operator>>(istream &,MatchMotEstBaseC &)
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:
- MatchMotEstC()
-
Default constructor
- MatchMotEstC(const DoubleImageC & filtered_reference_frame,const DoubleImageC & filtered_other_frame,const ImageRectangleC & search_window = ImageRectangleC(-16,16,-16,16),const NumMagnitudeRobustC & metric = NumMagnitudeRobustC(256,NumMagnitudeCityBlockC()),const VectorC & start_motion_vector = VectorC())
-
Constructor from images
| filtered_reference_frame | the reference frame |
| filtered_other_frame | other frame in which to search for a match |
| motion_model | the motion model; at present the motion models allowed are TRANSLATIONAL, QUASI_AFFINE and AFFINE. |
| 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)
-
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 IntImageC & mask,int in_label,const PixelC & origin,MultiLevelC multilevel)
-
Estimate motion parameters for patch.
- ByteImageC GetMCError(const VectorC & dP,const IntImageC & mask,int in_label,const PixelC & origin)
-
Returns the motion compensated error
- ByteImageC GetMCError(const VectorC & dP,const IntImageC & mask,int in_label,const PixelC & origin,const DoubleImageC & orig_frame0,const DoubleImageC & orig_frame1)
-
Returns the motion compensated error using user-supplied images
- ByteImageC GetMCImage(const DoubleImageC & scene0,const VectorC & dP,const IntImageC & mask,int in_label,const PixelC & origin)
-
Returns the motion compensated image
- ByteImageC GetMCMask(const VectorC & dP,const IntImageC & mask,int in_label,const PixelC & origin)
-
Returns the motion compensated mask
- Affine2dC ConstructAffineVector(const VectorC & dP)
-
- VectorC ConstructNormalVector(const Affine2dC & motion_vector)
-
- VectorC Estimate(const IntImageC & mask,int in_label,const PixelC & origin)
-
Estimate the motion vector
- VectorC Estimate(const IntImageC & mask,int in_label,const PixelC & origin,MultiLevelC multilevel)
-
Estimate the motion vector
- ByteImageC GetMCError(const VectorC & dP,const IntImageC & mask,int in_label,const PixelC & origin)
-
Returns the motion compensated error
- ByteImageC GetMCError(const VectorC & dP,const IntImageC & mask,int in_label,const PixelC & origin,const DoubleImageC & orig_frame0,const DoubleImageC & orig_frame1)
-
Returns the motion compensated error using user-supplied images
- ByteImageC GetMCImage(const DoubleImageC & scene0,const VectorC & dP,const IntImageC & mask,int in_label,const PixelC & origin)
-
Returns the motion compensated image
- ByteImageC GetMCMask(const VectorC & dP,const IntImageC & mask,int in_label,const PixelC & origin)
-
Returns the motion compensated mask
- Affine2dC ConstructAffineVector(const VectorC & dP)
-
Returns the affine motion vector
- VectorC ConstructNormalVector(const Affine2dC & motion_vector)
-
Returns the motion vector in AMMA VectorC form Friends -------
- ostream & operator<<(ostream & s,const MatchMotEstBaseC & out)
-
output stream operator
- istream & operator>>(istream & s,MatchMotEstBaseC & 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<MatchMotEstBaseBodyC> 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<MatchMotEstBaseBodyC> & operator=(const RCHandleC<MatchMotEstBaseBodyC> & oth)
-
Assignment.
- BooleanT operator==(const RCHandleC<MatchMotEstBaseBodyC> & oth) const
-
Comparison operator.
- BooleanT operator!=(const RCHandleC<MatchMotEstBaseBodyC> & 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.
- MatchMotEstBaseBodyC & Body()
-
Direct access to body.
- const MatchMotEstBaseBodyC & Body() const
-
Constant access to body.
|
Programmer:Ratna Rambaruth, Documentation by CxxDoc: Tue Mar 20 10:48:08 2001
|