SLAMflex SE  0.1.0
SLAMflex provides detection and tracking of dominant planes for smartphone devices. This plane can then be used to show AR content relative to the plane orientation. The detection of plane is performed in the field of view of the smartphone camera. In subsequent frames it is tracked. The interface returns the plane position and orientation.
Public Member Functions | Public Attributes | Related Functions | List of all members
CVD::ImageRef Class Reference

#include <image_ref.h>

Public Member Functions

 ImageRef ()
 Construct an ImageRef initialised at (0,0) More...
 
 ImageRef (int xp, int yp)
 
 ImageRef (std::istream &is)
 
bool next (const ImageRef &max)
 
bool prev (const ImageRef &max)
 
bool next (const ImageRef &min, const ImageRef &max)
 
bool prev (const ImageRef &min, const ImageRef &max)
 
void home ()
 Resets the ImageRef to (0,0) More...
 
void end (const ImageRef &size)
 
ImageRefoperator= (const ImageRef &ref)
 
bool operator== (const ImageRef &ref) const
 
bool operator!= (const ImageRef &ref) const
 
ImageRef operator- () const
 Unary minus. Negates both x and y components. More...
 
ImageRefoperator*= (const double scale)
 
ImageRefoperator/= (const double scale)
 
ImageRefoperator+= (const ImageRef rhs)
 
ImageRefoperator-= (const ImageRef rhs)
 
ImageRef operator* (const double scale) const
 
ImageRef operator/ (const double scale) const
 
ImageRef operator+ (const ImageRef rhs) const
 
ImageRef operator- (const ImageRef rhs) const
 
ImageRefoperator<<= (int i)
 
ImageRefoperator>>= (int i)
 
ImageRef operator>> (int i) const
 
ImageRef operator<< (int i) const
 
bool operator< (const ImageRef &other) const
 
bool operator> (const ImageRef &other) const
 
unsigned int mag_squared () const
 Magnitude-squared (x*x + y*y) More...
 
int area () const
 Area (product of x and y; signed) More...
 
ImageRef dot_times (const ImageRef &ref) const
 The equivalent of doing .* in matlab. More...
 
int & operator[] (int i)
 Square bracket subscripts for easy loops. 0=x 1=y other=error. More...
 
int operator[] (int i) const
 Square bracket const subscripts for easy loops. 0=x 1=y other=error. More...
 
ImageRef shiftl (int i) const
 
ImageRef shiftr (int i) const
 

Public Attributes

int x
 The x co-ordinate. More...
 
int y
 The y co-ordinate. More...
 

Related Functions

(Note that these are not member functions.)

ImageRef operator* (const int scale, const ImageRef &ref)
 
std::ostream & operator<< (std::ostream &os, const ImageRef &ref)
 
std::istream & operator>> (std::istream &is, ImageRef &ref)
 
const ImageRef ImageRef_zero (0, 0)
 

Detailed Description

An (x,y) image co-ordinate

Definition at line 47 of file image_ref.h.

Constructor & Destructor Documentation

CVD::ImageRef::ImageRef ( )
inline

Construct an ImageRef initialised at (0,0)

Definition at line 198 of file image_ref.h.

CVD::ImageRef::ImageRef ( int  xp,
int  yp 
)
inline

Construct an ImageRef

Parameters
xpThe x co-ordinate
ypThe y co-ordinate

Definition at line 203 of file image_ref.h.

CVD::ImageRef::ImageRef ( std::istream &  is)
inline

Construct an ImageRef from a stream

Parameters
isThe stream to read

Definition at line 207 of file image_ref.h.

Member Function Documentation

int CVD::ImageRef::area ( ) const
inline

Area (product of x and y; signed)

Definition at line 407 of file image_ref.h.

ImageRef CVD::ImageRef::dot_times ( const ImageRef ref) const
inline

The equivalent of doing .* in matlab.

Definition at line 412 of file image_ref.h.

void CVD::ImageRef::end ( const ImageRef size)
inline

Resets the ImageRef to the maximum co-ordinate in the image i.e. (size.x - 1, size.y - 1)

Parameters
sizeThe size of the image

Definition at line 245 of file image_ref.h.

void CVD::ImageRef::home ( )
inline

Resets the ImageRef to (0,0)

Definition at line 240 of file image_ref.h.

unsigned int CVD::ImageRef::mag_squared ( ) const
inline

Magnitude-squared (x*x + y*y)

Definition at line 401 of file image_ref.h.

bool CVD::ImageRef::next ( const ImageRef max)
inline

Step to the next co-ordinate in the image (in horizontal scanline order). Successive calls to this function will work along each row of the image. If the next co-ordinate is off the end of the image, it returns false.

Parameters
maxThe size of the image

Definition at line 220 of file image_ref.h.

bool CVD::ImageRef::next ( const ImageRef min,
const ImageRef max 
)
inline

Step to the next co-ordinate in the image (in horizontal scanline order), for pixels within a rectangular window Successive calls to this function will work backwards along each row of the image. If the next co-ordinate is off the start of the image, it returns false.

Parameters
minThe minimum (x,y) co-ordinates in the window
maxThe minimum (x,y) co-ordinates in the window

Definition at line 225 of file image_ref.h.

bool CVD::ImageRef::operator!= ( const ImageRef ref) const
inline

Logical not equals

Parameters
refThe co-ordinate to compare with

Definition at line 263 of file image_ref.h.

ImageRef CVD::ImageRef::operator* ( const double  scale) const
inline

Multiply both x and y co-ordinates by a scalar

Parameters
scaleThe multiplier

Definition at line 302 of file image_ref.h.

ImageRef & CVD::ImageRef::operator*= ( const double  scale)
inline

Multiply both x and y co-ordinates by a scalar

Parameters
scaleThe multiplier

Definition at line 274 of file image_ref.h.

ImageRef CVD::ImageRef::operator+ ( const ImageRef  rhs) const
inline

Add an offset to the co-ordinate

Parameters
rhsThe offset

Definition at line 314 of file image_ref.h.

ImageRef & CVD::ImageRef::operator+= ( const ImageRef  rhs)
inline

Add an offset to the co-ordinate

Parameters
rhsThe offset

Definition at line 288 of file image_ref.h.

ImageRef CVD::ImageRef::operator- ( ) const
inline

Unary minus. Negates both x and y components.

Definition at line 268 of file image_ref.h.

ImageRef CVD::ImageRef::operator- ( const ImageRef  rhs) const
inline

Subtract an offset from the co-ordinate

Parameters
rhsThe offset

Definition at line 320 of file image_ref.h.

ImageRef & CVD::ImageRef::operator-= ( const ImageRef  rhs)
inline

Subtract an offset from the co-ordinate

Parameters
rhsThe offset

Definition at line 295 of file image_ref.h.

ImageRef CVD::ImageRef::operator/ ( const double  scale) const
inline

Divide both x and y co-ordinates by a scalar

Parameters
scaleThe factor

Definition at line 308 of file image_ref.h.

ImageRef & CVD::ImageRef::operator/= ( const double  scale)
inline

Divide both x and y co-ordinates by a scalar

Parameters
scaleThe factor

Definition at line 281 of file image_ref.h.

bool CVD::ImageRef::operator< ( const ImageRef other) const
inline

An ImageRef is less than another ImageRef if it is earlier in the standard horizontal scan-line order, i.e. has a smaller y-co-ordinate or the same y-co-ordinate but a smaller x-co-ordinate. An ordering of ImageRefs is needed to allow them to be used in STL for sets, maps, multisets, multimaps etc.

Definition at line 372 of file image_ref.h.

ImageRef CVD::ImageRef::operator<< ( int  i) const
inline

Bitwise left-shift operator

Parameters
iThe amount to shift

Definition at line 356 of file image_ref.h.

ImageRef & CVD::ImageRef::operator<<= ( int  i)
inline

Bitwise left-shift operator

Parameters
iThe amount to shift

Definition at line 326 of file image_ref.h.

ImageRef & CVD::ImageRef::operator= ( const ImageRef ref)
inline

Assigment

Parameters
refThe co-ordinate to copy

Definition at line 251 of file image_ref.h.

bool CVD::ImageRef::operator== ( const ImageRef ref) const
inline

Logical equals

Parameters
refThe co-ordinate to compare with

Definition at line 258 of file image_ref.h.

bool CVD::ImageRef::operator> ( const ImageRef other) const
inline

An ImageRef is greater than another ImageRef if it is earlier in the standard horizontal scan-line order, i.e. has a smaller y-co-ordinate or the same y-co-ordinate but a smaller x-co-ordinate.

Definition at line 377 of file image_ref.h.

ImageRef CVD::ImageRef::operator>> ( int  i) const
inline

Bitwise right-shift operator

Parameters
iThe amount to shift

Definition at line 361 of file image_ref.h.

ImageRef & CVD::ImageRef::operator>>= ( int  i)
inline

Bitwise right-shift operator

Parameters
iThe amount to shift

Definition at line 333 of file image_ref.h.

int & CVD::ImageRef::operator[] ( int  i)
inline

Square bracket subscripts for easy loops. 0=x 1=y other=error.

Definition at line 383 of file image_ref.h.

int CVD::ImageRef::operator[] ( int  i) const
inline

Square bracket const subscripts for easy loops. 0=x 1=y other=error.

Definition at line 392 of file image_ref.h.

bool CVD::ImageRef::prev ( const ImageRef max)
inline

Step to the previous co-ordinate in the image (in horizontal scanline order). Successive calls to this function will work backwards along each row of the image. If the next co-ordinate is off the start of the image, it returns false.

Parameters
maxThe size of the image

Definition at line 230 of file image_ref.h.

bool CVD::ImageRef::prev ( const ImageRef min,
const ImageRef max 
)
inline

Step to the previous co-ordinate in the image (in horizontal scanline order), for pixels within a rectangule window Successive calls to this function will work backwards along each row of the image. If the next co-ordinate is off the start of the image, it returns false.

Parameters
minThe minimum (x,y) co-ordinates in the window
maxThe minimum (x,y) co-ordinates in the window

Definition at line 235 of file image_ref.h.

ImageRef CVD::ImageRef::shiftl ( int  i) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 340 of file image_ref.h.

ImageRef CVD::ImageRef::shiftr ( int  i) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 348 of file image_ref.h.

Friends And Related Function Documentation

const ImageRef ImageRef_zero ( ,
 
)
related

A zero ImageRef

ImageRef operator* ( const int  scale,
const ImageRef ref 
)
related

Left-multiply an ImageRef by a scalar. Mutiplies both x and y.

Parameters
scaleThe multiplier
refThe ImageRef to scale

Definition at line 367 of file image_ref.h.

std::ostream & operator<< ( std::ostream &  os,
const ImageRef ref 
)
related

Write an ImageRef to a stream in the format "[x y]"

Parameters
osThe stream
refThe co-ordinate

Definition at line 424 of file image_ref.h.

std::istream & operator>> ( std::istream &  is,
ImageRef ref 
)
related

Read an ImageRef from a stream. Any format with two successive numbers will work

Definition at line 431 of file image_ref.h.

Member Data Documentation

int CVD::ImageRef::x

The x co-ordinate.

Definition at line 179 of file image_ref.h.

int CVD::ImageRef::y

The y co-ordinate.

Definition at line 180 of file image_ref.h.


The documentation for this class was generated from the following file: