|
User Documentation |
|
Centre for Vision, Speech & Signal Processing |
|
PUBLIC |
ImageC::ImageC(void)
ImageC::ImageC(ImageIStreamC &)
ImageC::ImageC(IStreamC &,BooleanT)
ImageC::ImageC(ImageFileInfoC *)
ImageC::ImageC(SizeT,SizeT)
ImageC::ImageC(const ImageRectangleC &)
ImageC::ImageC(const ImageC &,const ImageRectangleC &)
ImageC::ImageC(const ImageC &)
ImageC::ImageC(SizeT,SizeT,PValueT *,BooleanT,BooleanT)
ImageC::ImageC(SizeT,SizeT,const BufferRC &,BooleanT)
ImageC::Copy(void) const
ImageC::Copy(const ImageC &)
ImageC::Copy(const ImageRectangleC &,const PixelC &)
ImageC::ACopy(void) const
ImageC::AnotherImage(void) const
ImageC::operator=(const ImageC &)
ImageC::~ImageC(void)
ImageC::ReflectUp(const ImageRectangleC &)
ImageC::ReflectDown(const ImageRectangleC &)
ImageC::ReflectLeft(const ImageRectangleC &)
ImageC::ReflectRight(const ImageRectangleC &)
ImageC::ReflectFrom(const ImageRectangleC &)
ImageC::Rotate90(const ImageC &)
ImageC::Rotate180(const ImageC &)
ImageC::Rotate270(const ImageC &)
ImageC::Rotate(const Point2dC &,RealT,PValueT) const
ImageC::Rotate(const ImageC &,const Point2dC &,RealT,PValueT)
ImageC::ShiftRowIndexes(const IndexT)
ImageC::ShiftColIndexes(const IndexT)
ImageC::Subsample(IntT) const
ImageC::SetOrigin(const PixelC &)
ImageC::Fill(PValueT)
ImageC::Frame(PValueT)
ImageC::Frame(PValueT,const ImageRectangleC &)
ImageC::Pad(const ImageRectangleC &) const
ImageC::IsValid(void) const
ImageC::operator[](IndexT) const
ImageC::operator[](IndexT)
ImageC::operator[](const Index2dC &)
ImageC::operator[](const Index2dC &) const
ImageC::operator[](const PixelC &)
ImageC::operator[](const PixelC &) const
ImageC::CRow(PixelIndexT) const
ImageC::Row(PixelIndexT)
ImageC::Save(ostream &,BooleanT) const
ImageC::Load(istream &,BooleanT)
ImageC::StartAddress(void) const
ImageC::Buffer(void)
ImageC::Buffer(void) const
BaseImageC::Rectangle(void) const
BaseImageC::Origin(void) const
BaseImageC::End(void) const
BaseImageC::ImageFileInfo(void) const
BaseImageC::BaseImage(void) const
BaseImageC::BaseImage(void)
BaseImageC::SetRowSubRange(const IndexT,const IndexT)
BaseImageC::SetColSubRange(const IndexT,const IndexT)
BaseImageC::SetSubRange(const ImageRectangleC &)
BaseImageC::SetFullRectangle(void)
BaseImageC::SetImageFileInfo(ImageFileInfoC *)
BaseImageC::IsEmpty(void) const
BaseImageC::ErrDifferentSize(const BaseImageC &,char *) const
BaseImageC::Rnum(void) const
BaseImageC::Cnum(void) const
BaseImageC::TRow(void) const
BaseImageC::LCol(void) const
BaseImageC::BRow(void) const
BaseImageC::RCol(void) const
BaseImageC::Area(void) const
BaseImageC::Count(void) const
BaseImageC::AllocatedRect(void) const
BaseImageC::IsBlock(void) const
ImageAC::ACopy(void) const
ImageAC::AnotherImage(void) const
ImageAC::Rectangle(void) const
ImageAC::ShiftRowIndexes(const IndexT)
ImageAC::ShiftColIndexes(const IndexT)
ImageAC::SetRowSubRange(const IndexT,const IndexT)
ImageAC::SetColSubRange(const IndexT,const IndexT)
ImageAC::ImageFileInfo(void) const
|
Comments:
The class ImageC is a container serving as a representation of rectangular
images defined on uniform grid. Two dimensional indexing can be used
for access of elements. The elements must have the default constructor,
the copy constructor, the assigment.
Parent Classes:
Derived Classes:
Typedefs:
- typedef PValueT PixelTypeT;
-
Make pixel type known to routines using ImageC
Constructors, assigment, copy, and destructor.
Variables:
Methods:
- ImageC()
-
Creates an empty image.
- ImageC(ImageIStreamC & inS)
-
Creates an image from the input stream.
Use of ImageIStreamC is OBSOLETE.
- ImageC(IStreamC & inS,BooleanT useHeader = false)
-
Creates an image from the input stream.
- ImageC(ImageFileInfoC * info)
-
Creates an image according to information in "info".
- ImageC(SizeT rows,SizeT columns)
-
Creates a new image.
- ImageC(const ImageRectangleC & rect)
-
Creates a new image.
- ImageC(const ImageC<PValueT> & image,const ImageRectangleC & rect)
-
Creates a new access to the subimage.
- ImageC(const ImageC<PValueT> & image)
-
Creates a new identifier for the image.
- ImageC(SizeT rows,SizeT columns,PValueT * value,BooleanT rm = false,BooleanT rowInv = false)
-
Creates a new image which is connected to the memory pointed by "value".
Use it to create an ImageC object from image data stored in a "C"-style
1-D array.
If "rm" is TRUE, the memory pointed to by the pointer "value" is
deallocated using delete function during destruction.
If row invert is true the image is created 'upside' down. i.e. bottom row first.
from the buffer.
- ImageC(SizeT rows,SizeT columns,const BufferRC<PValueT> & buff,BooleanT rowInv = false)
-
Creates a new image which is connected to the memory in 'buff'".
Can be used to access data stored in other amma arrays as an image.
(MatrixC and VectorC coming soon.)
If row invert is true the image is created 'upside' down. i.e. bottom row first.
from the buffer.
- ImageC<PValueT> Copy() const
-
Creates another physical copy of this image.
- void Copy(const ImageC<PValueT> & image)
-
Copies the contents of image "img" into this image.
- void Copy(const ImageRectangleC & rect,const PixelC & newOrigin)
-
Copies the region of the image defined by rectangle "rect" into the region whose origin is "newOrigin".
- ImageAC * ACopy() const
-
A physical copy of this image.
- ImageAC * AnotherImage() const
-
Creates a new empty image of the same type and size as this image is.
- const ImageC<PValueT> & operator=(const ImageC<PValueT> & image)
-
Assigment of a big object.
- ~ImageC()
-
Destructor.
Geometrical operations.
- void ReflectUp(const ImageRectangleC & rect)
-
Mirrors the image rectangle along its top edge.
- void ReflectDown(const ImageRectangleC & rect)
-
Mirrors the image rectangle along its bottom edge.
- void ReflectLeft(const ImageRectangleC & rect)
-
Mirrors the image rectangle along its left edge.
- void ReflectRight(const ImageRectangleC & rect)
-
Mirrors the image rectangle along its right edge.
- void ReflectFrom(const ImageRectangleC & rect)
-
Mirrors the image rectangle "rect" along its sides to fill the whole image.
- void Rotate90(const ImageC<PValueT> & originalImage)
-
The values of image "originalImage" rotated about PI/2 rad and shifted to have the original upper-left corner and are saved into this image.
- void Rotate180(const ImageC<PValueT> & originalImage)
-
The values of image "originalImage" rotated about PI rad and shifted to have the original upper-left corner and are saved into this image.
- void Rotate270(const ImageC<PValueT> & originalImage)
-
The values of image "originalImage" rotated about 3/2*PI rad and shifted to have the original upper-left corner and are saved into this image.
- ImageC<PValueT> Rotate(const Point2dC & center,RealT angle,PValueT background) const
-
The values of this image are rotated about "angle" (in rad) and saved to the result image.
Note the AMMA convention that the 1st or "x" coordinate of Point2dC is
associated with the image row no., and the 2nd or "y" coordinate
with the image column no.
- void Rotate(const ImageC<PValueT> & originalImage,const Point2dC & center,RealT angle,PValueT background)
-
The values of image "originalImage" rotated about "angle" rad are saved into this image.
Note the AMMA convention that the 1st or "x" coordinate of Point2dC is
associated with the image row no., and the 2nd or "y" coordinate
with the image column no.
- void ShiftRowIndexes(const IndexT offset)
-
Row indices of the items will be shifted by "offset".
There must be only one reference to this image.
For +ve "offset", the image is shifted down, or the coordinate
system is shifted up.
- void ShiftColIndexes(const IndexT offset)
-
Column indices of the items will be shifted by "offset".
There must be only one reference to this image.
For +ve "offset", the image is shifted down, or the coordinate
system is shifted up.
- ImageC<PValueT> Subsample(IntT factor = 2) const
-
returns an image subsampled by a factor of "factor"
- void SetOrigin(const PixelC & newOrigin)
-
The image coordinates are changed so that the top left pixel will have coordinates of "newOrigin".
There must be only one reference to this image.
Grey level operations.
- ImageC<PValueT> & Fill(PValueT value)
-
Fills the image with "value"
- ImageC<PValueT> & Frame(PValueT value)
-
Fills a 1-pixel-wide border around the image with "value"
- ImageC<PValueT> & Frame(PValueT v,const ImageRectangleC & rect)
-
Fills a 1-pixel-wide rectangle with "v";
the rectangle is the intersection of "this" with "rect".
- ImageC<PValueT> Pad(const ImageRectangleC & rect) const
-
Creates a new image whose frame is from "rect", with pixels copied from "this".
Where the new image lies outside "this", it is padded out with the nearest
value from "this".
Logical conditions.
- BooleanT IsValid() const
-
Returns FALSE if the image does not have a valid data area allocated
Access to pixels values.
- const RangeBufferAccessC<PValueT> operator[](IndexT r) const
-
Access to the row of the row of pixels.
- RangeBufferAccessC<PValueT> operator[](IndexT r)
-
Access to the row of the row of pixels.
- PValueT & operator[](const Index2dC & pxl)
-
Returns the content of the pixel.
- const PValueT & operator[](const Index2dC & pxl) const
-
Returns the content of the pixel.
- PValueT & operator[](const PixelC & pxl)
-
Returns the content of the pixel.
- const PValueT & operator[](const PixelC & pxl) const
-
Returns the content of the pixel.
- const PValueT * CRow(PixelIndexT row) const
-
Access to the beginning of the row, eg. t
The returned pointer points to the first pixel of the "row".
- PValueT * Row(PixelIndexT row)
-
Access to the beginning of the constant "row"
I.e. the returned pointer points to the first pixel of "row".
- void Save(ostream & outS,BooleanT useHeader = TRUE) const
-
Saves templated image to stream.
For byte images it will save them in either PGM or PPM binary format. For
other types it will save them in ascii if a suitable stream operator has
been written for the templated class.
NB. These treat images of ByteGreyValueT specialy, the image values
are read as numbers not as charactors.
- void Load(istream & outS,BooleanT useHeader = TRUE)
-
Loads templated image type from ascii stream.
Should not be used for binary PGM/PPM files, but should work on most
templated types.
NB. These treat images of ByteGreyValueT specialy, the image values
are written as numbers not as charactors.
- PValueT ** StartAddress() const
-
Returns the pointer to the table of pointers to image.
This being public is really only a hack!
EXPERTS ONLY!
- BufferRC<PValueT> & Buffer()
-
Access buffer where data is stored.
- const BufferRC<PValueT> & Buffer() const
-
Access buffer where data is stored.
- const ImageRectangleC & Rectangle() const
-
Returns the image rectangle.
- const Index2dC & Origin() const
-
Returns the upper-left pixel coordinates of the image rectangle.
- const Index2dC & End() const
-
Returns the lower right pixel coordinates of the image rectangle.
- const ImageFileInfoC & ImageFileInfo() const
-
Access to the origin.
- const BaseImageC & BaseImage() const
-
access to the constant object
- BaseImageC & BaseImage()
-
access to the object
Modification of the object
--------------------------
- void SetRowSubRange(const IndexT newMin,const IndexT newMax)
-
The range of indexes of the array will be constrained
- void SetColSubRange(const IndexT newMin,const IndexT newMax)
-
The range of indexes of the array will be constrained.
- void SetSubRange(const ImageRectangleC & range)
-
Constrains the domain of the image.
- void SetFullRectangle()
-
Sets the working rectangle to be allocated rectangle of the image.
- void SetImageFileInfo(ImageFileInfoC * newInfo)
-
Sets a new image file information respecting the current size of the image.
- BooleanT IsEmpty() const
-
Returns TRUE if the image has zero size
- void ErrDifferentSize(const BaseImageC & image,char * functionName) const
-
Triggers an error event if this image has different size from `image'.
The functionName should be the name of the function that triggers
the error event.
- SizeT Rnum() const
-
Returns number of rows.
- SizeT Cnum() const
-
Returns number of columns.
- IndexT TRow() const
-
Returns the top row index.
- IndexT LCol() const
-
Returns the left side column index.
- IndexT BRow() const
-
Returns the bottom row index.
- IndexT RCol() const
-
Returns the right side column index.
- LongIntT Area() const
-
Returns the area of the image rectangle expressed in number of indexs.
- UIntT Count() const
-
Returns the number of refrences to this object.
NB. The following definition is now obsolete,
The value 0 means there is no other reference to this object.
- const ImageRectangleC & AllocatedRect() const
-
Access allocated rectangle.
- BooleanT IsBlock() const
-
Returns TRUE if the image is allocated as one block of memory.
- ImageAC * ACopy() const
-
A physical copy of the image.
- ImageAC * AnotherImage() const
-
Creates a new empty image of the same type and size as this image is.
- const ImageRectangleC & Rectangle() const
-
Returns the working image rectangle.
- void ShiftRowIndexes(const IndexT offset)
-
all indexes of the items will be shift by 'offset'
- void ShiftColIndexes(const IndexT offset)
-
all indexes of the items will be shift by 'offset'
- void SetRowSubRange(const IndexT newMin,const IndexT newMax)
-
the range of indexes of the array will be constrained
- void SetColSubRange(const IndexT newMin,const IndexT newMax)
-
the range of indexes of the array will be constrained
- const ImageFileInfoC & ImageFileInfo() const
-
access to the const origin
|
Programmer:Radek Marik, Documentation by CxxDoc: Tue Mar 20 10:48:08 2001
|