#include <image_ref.h>
Public Member Functions | |
| int | area () const |
| Area (product of x and y; signed). | |
| ImageRef | dot_times (const ImageRef &ref) const |
| The equivalent of doing .* in matlab. | |
| void | end (const ImageRef &size) |
| void | home () |
| Resets the ImageRef to (0,0). | |
| ImageRef (std::istream &is) | |
| ImageRef (int xp, int yp) | |
| ImageRef () | |
| Construct an ImageRef initialised at (0,0). | |
| unsigned int | mag_squared () const |
| Magnitude-squared (x*x + y*y). | |
| bool | next (const ImageRef &min, const ImageRef &max) |
| bool | next (const ImageRef &max) |
| bool | operator!= (const ImageRef &ref) const |
| ImageRef | operator* (const double scale) const |
| ImageRef & | operator*= (const double scale) |
| ImageRef | operator+ (const ImageRef rhs) const |
| ImageRef & | operator+= (const ImageRef rhs) |
| ImageRef | operator- (const ImageRef rhs) const |
| ImageRef | operator- () const |
| Unary minus. Negates both x and y components. | |
| ImageRef & | operator-= (const ImageRef rhs) |
| ImageRef | operator/ (const double scale) const |
| ImageRef & | operator/= (const double scale) |
| bool | operator< (const ImageRef &other) const |
| ImageRef | operator<< (int i) const |
| ImageRef & | operator<<= (int i) |
| ImageRef & | operator= (const ImageRef &ref) |
| bool | operator== (const ImageRef &ref) const |
| bool | operator> (const ImageRef &other) const |
| ImageRef | operator>> (int i) const |
| ImageRef & | operator>>= (int i) |
| int | operator[] (int i) const |
| Square bracket const subscripts for easy loops. 0=x 1=y other=error. | |
| int & | operator[] (int i) |
| Square bracket subscripts for easy loops. 0=x 1=y other=error. | |
| bool | prev (const ImageRef &min, const ImageRef &max) |
| bool | prev (const ImageRef &max) |
| ImageRef | shiftl (int i) const |
| ImageRef | shiftr (int i) const |
Public Attributes | |
| int | x |
| The x co-ordinate. | |
| int | y |
| The y co-ordinate. | |
Related Functions | |
(Note that these are not member functions.) | |
| const ImageRef | ImageRef_zero (0, 0) |
| 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) |
An (x,y) image co-ordinate
Definition at line 47 of file image_ref.h.
| CVD::ImageRef::ImageRef | ( | ) | [inline] |
Construct an ImageRef initialised at (0,0).
Definition at line 22 of file image_ref.h.
| CVD::ImageRef::ImageRef | ( | int | xp, | |
| int | yp | |||
| ) | [inline] |
Construct an ImageRef
| xp | The x co-ordinate | |
| yp | The y co-ordinate |
Definition at line 27 of file image_ref.h.
| CVD::ImageRef::ImageRef | ( | std::istream & | is | ) | [inline] |
Construct an ImageRef from a stream
| is | The stream to read |
Definition at line 31 of file image_ref.h.
| int CVD::ImageRef::area | ( | ) | const [inline] |
Area (product of x and y; signed).
Definition at line 231 of file image_ref.h.
The equivalent of doing .* in matlab.
Definition at line 236 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)
| size | The size of the image |
Definition at line 69 of file image_ref.h.
| void CVD::ImageRef::home | ( | ) | [inline] |
Resets the ImageRef to (0,0).
Definition at line 64 of file image_ref.h.
| unsigned int CVD::ImageRef::mag_squared | ( | ) | const [inline] |
Magnitude-squared (x*x + y*y).
Definition at line 225 of file image_ref.h.
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.
| min | The minimum (x,y) co-ordinates in the window | |
| max | The minimum (x,y) co-ordinates in the window |
Definition at line 49 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.
| max | The size of the image |
Definition at line 44 of file image_ref.h.
| bool CVD::ImageRef::operator!= | ( | const ImageRef & | ref | ) | const [inline] |
Logical not equals
| ref | The co-ordinate to compare with |
Definition at line 87 of file image_ref.h.
| ImageRef CVD::ImageRef::operator* | ( | const double | scale | ) | const [inline] |
Multiply both x and y co-ordinates by a scalar
| scale | The multiplier |
Definition at line 126 of file image_ref.h.
| ImageRef & CVD::ImageRef::operator*= | ( | const double | scale | ) | [inline] |
Multiply both x and y co-ordinates by a scalar
| scale | The multiplier |
Definition at line 98 of file image_ref.h.
Add an offset to the co-ordinate
| rhs | The offset |
Definition at line 138 of file image_ref.h.
Add an offset to the co-ordinate
| rhs | The offset |
Definition at line 112 of file image_ref.h.
Subtract an offset from the co-ordinate
| rhs | The offset |
Definition at line 144 of file image_ref.h.
| ImageRef CVD::ImageRef::operator- | ( | ) | const [inline] |
Unary minus. Negates both x and y components.
Definition at line 92 of file image_ref.h.
Subtract an offset from the co-ordinate
| rhs | The offset |
Definition at line 119 of file image_ref.h.
| ImageRef CVD::ImageRef::operator/ | ( | const double | scale | ) | const [inline] |
Divide both x and y co-ordinates by a scalar
| scale | The factor |
Definition at line 132 of file image_ref.h.
| ImageRef & CVD::ImageRef::operator/= | ( | const double | scale | ) | [inline] |
Divide both x and y co-ordinates by a scalar
| scale | The factor |
Definition at line 105 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 196 of file image_ref.h.
| ImageRef CVD::ImageRef::operator<< | ( | int | i | ) | const [inline] |
Bitwise left-shift operator
| i | The amount to shift |
Definition at line 180 of file image_ref.h.
| ImageRef & CVD::ImageRef::operator<<= | ( | int | i | ) | [inline] |
Bitwise left-shift operator
| i | The amount to shift |
Definition at line 150 of file image_ref.h.
| bool CVD::ImageRef::operator== | ( | const ImageRef & | ref | ) | const [inline] |
Logical equals
| ref | The co-ordinate to compare with |
Definition at line 82 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 201 of file image_ref.h.
| ImageRef CVD::ImageRef::operator>> | ( | int | i | ) | const [inline] |
Bitwise right-shift operator
| i | The amount to shift |
Definition at line 185 of file image_ref.h.
| ImageRef & CVD::ImageRef::operator>>= | ( | int | i | ) | [inline] |
Bitwise right-shift operator
| i | The amount to shift |
Definition at line 157 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 216 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 207 of file image_ref.h.
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.
| min | The minimum (x,y) co-ordinates in the window | |
| max | The minimum (x,y) co-ordinates in the window |
Definition at line 59 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.
| max | The size of the image |
Definition at line 54 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 164 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 172 of file image_ref.h.
Left-multiply an ImageRef by a scalar. Mutiplies both x and y.
| scale | The multiplier | |
| ref | The ImageRef to scale |
Definition at line 191 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]"
| os | The stream | |
| ref | The co-ordinate |
Definition at line 205 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 212 of file image_ref.h.
| 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.