Developer Documentation
Centre for Vision, Speech & Signal Processing
USER IN NAMESPACE AMMA TREE ROOT AMMA SEARCH AMMA HOME
 

  PUBLIC
RealRGBImageCnvC::RealRGBImageCnvC(void)
RealRGBImageCnvC::RealRGBImageCnvC(const RealRGBImageCnvC &)
RealRGBImageCnvC::RealRGBImageCnvC(const RealRGBImageC &)
RealRGBImageCnvC::RealRGBImageCnvC(ColorImageAC *)
RealRGBImageCnvC::~RealRGBImageCnvC(void)
RealRGBImageCnvC::ColorImageA(void) const
RealRGBImageCnvC::ColorImageA(void)
RealRGBImageCnvC::Y(void)
RealRGBImageCnvC::Red(void)
RealRGBImageCnvC::Green(void)
RealRGBImageCnvC::Blue(void)
RealRGBImageCnvC::RealY(void)
RealRGBImageCnvC::RealRed(void)
RealRGBImageCnvC::RealGreen(void)
RealRGBImageCnvC::RealBlue(void)
RealRGBImageCnvC::Rgb(void)
RealRGBImageCnvC::RealRgb(void)
RealRGBImageCnvC::Yuv(void)
RealRGBImageCnvC::RealYuv(void)
ColorImageAC::operator=(const ColorImageAC &)
ColorImageAC::Y(void)
ColorImageAC::Red(void)
ColorImageAC::Green(void)
ColorImageAC::Blue(void)
ColorImageAC::RealY(void)
ColorImageAC::RealRed(void)
ColorImageAC::RealGreen(void)
ColorImageAC::RealBlue(void)
ColorImageAC::Rgb(void)
ColorImageAC::RealRgb(void)
ColorImageAC::Yuv(void)
ColorImageAC::RealYuv(void)
RealRGBImageC::Copy(void) const
RealRGBImageC::ACopy(void) const
RealRGBImageC::AnotherImage(void) const
RealRGBImageC::Y(void) const
RealRGBImageC::Red(void) const
RealRGBImageC::Green(void) const
RealRGBImageC::Blue(void) const
RealRGBImageC::RealY(DoubleImageC &) const
RealRGBImageC::RealY(void) const
RealRGBImageC::RealRed(void) const
RealRGBImageC::RealGreen(void) const
RealRGBImageC::RealBlue(void) const
RealRGBImageC::Rgb(void) const
RealRGBImageC::RealRgb(void) const
RealRGBImageC::Yuv(void) const
RealRGBImageC::RealYuv(void) const
RealRGBImageC::ReduceAverage(void) const
RealRGBImageC::ReduceSample(void) const
RealRGBImageC::Rotate(const Point2dC &,RealT,RGBPointC) const
RealRGBImageC::Palette(void)
RealRGBImageC::operator/=(const RealT)
RealRGBImageC::operator+=(const RealRGBImageC &)
RealRGBImageC::operator+=(const RGBImageC &)
RealRGBImageC::operator/=(const RealRGBImageC &)
RealRGBImageC::ScaleToRGBImage(const RGBPointC &,const RGBPointC &) const
RealRGBImageC::ExMeCo(void) const
RealRGBImageC::RGBChromaticityDiagram(const IndexT) const
RealRGBImageC::XYZChromaticityDiagram(const IndexT) const
RealRGBImageC::SaveAs(ImageOStreamC &,ImageFileFormatT)
RealRGBImageC::ReadData(ImageIStreamC &)
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::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
ImageC::CMemRow(PixelIndexT) const
ImageC::MemRow(PixelIndexT)
ImageC::ErrNotValid(char *) const
ImageC::AllocData(void)
ImageC::AllocData(PValueT *,BooleanT)
ImageC::DeallocAccess(void)
ImageC::DeallocData(void)
ImageC::operator[](PixelIndexT)
ImageC::operator[](PixelIndexT) 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
BaseImageC::operator=(const BaseImageC &)
BaseImageC::ChangeInfo(ImageFileInfoC *)
BaseImageC::ShiftRows(const IndexT)
BaseImageC::ShiftCols(const IndexT)
BaseImageC::ErrNotInRange(Index2dC,char *) const
BaseImageC::ErrNotInRange(IndexT,char *) const
BaseImageC::ErrNotInAllocRange(IndexT,char *) const
BaseImageC::LoadImageRect(istream &)
RefCounterC::ToBeDeleted(void) const
RefCounterC::Count(void) const
RefCounterC::IsSingleReference(void)
RefCounterC::operator=(const RefCounterC &)
RefCounterC::ToBeDeletedUpdate(const RefCounterC &)
RefCounterC::ReportInvalidObject(char *)
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
RefCounterBaseC::Label(void) const
RealRGBImageCnvC
 
Conversions into/from the RGB image
 
include "amma/RRgbICnv.hh"
User Level:Default
Library:ImageCnv
Example:exIter.cc
Section:Image.Converters
In Scope:std

Comments:
The class RealRGBImageCnvC performes a conversion between two color images using different representations. One of the representations is byte RGB image.

Parent Classes: Methods:
RealRGBImageCnvC()
Creates a dummy image.

RealRGBImageCnvC(const RealRGBImageCnvC & im)
Creates another handler of the image 'im'.

RealRGBImageCnvC(const RealRGBImageC & im)
Creates another handler of the image 'im' that is possible to convert into another image.

RealRGBImageCnvC(ColorImageAC * im)
Creates a RGB intensity image from the general color image 'im' using the conversion RealY().

~RealRGBImageCnvC()
Desctructor. Image conversions. ------------------

const ColorImageAC * ColorImageA() const
Returns this image as an constant general color image.

ColorImageAC * ColorImageA()
Returns this image as an general color image.

ByteImageCnvC Y()
Returns the intensity byte image.

ByteImageCnvC Red()
Returns the intensity byte image of the red component.

ByteImageCnvC Green()
Returns the intensity byte image of the green component.

ByteImageCnvC Blue()
Returns the intensity byte image of the blue component.

DoubleImageCnvC RealY()
Returns the intensity double image.

DoubleImageCnvC RealRed()
Returns the intensity double image of the red component.

DoubleImageCnvC RealGreen()
Returns the intensity double image of the green component.

DoubleImageCnvC RealBlue()
Returns the intensity double image of the blue component.

RGBImageCnvC Rgb()
Returns the image of byte RGB values.

RealRGBImageCnvC RealRgb()
Returns the image of real RGB values.

YUVImageCnvC Yuv()
Returns the image of byte YUV values.

RealYUVImageCnvC RealYuv()
Returns the image of real YUV values.

#include "amma/CoImageA.hh"
const ColorImageAC & operator=(const ColorImageAC & im)
Assigment.

ByteImageCnvC Y()
Returns the intensity byte image.

ByteImageCnvC Red()
Returns the intensity byte image of the red component.

ByteImageCnvC Green()
Returns the intensity byte image of the green component.

ByteImageCnvC Blue()
Returns the intensity byte image of the blue component.

DoubleImageCnvC RealY()
Returns the intensity double image.

DoubleImageCnvC RealRed()
Returns the intensity double image of the red component.

DoubleImageCnvC RealGreen()
Returns the intensity double image of the green component.

DoubleImageCnvC RealBlue()
Returns the intensity double image of the blue component.

RGBImageCnvC Rgb()
Returns the image of byte RGB values.

RealRGBImageCnvC RealRgb()
Returns the image of real RGB values.

YUVImageCnvC Yuv()
Returns the image of byte YUV values.

RealYUVImageCnvC RealYuv()
Returns the image of real YUV values.

#include "amma/ReRGBImg.hh"
RealRGBImageC Copy() const
A physical copy of image.

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. Conversions between color images. ---------------------------------

ByteImageC Y() const
Returns the byte grey level image of Y component.

ByteImageC Red() const
Returns the byte red component of the color image.

ByteImageC Green() const
Returns the byte green component of the color image.

ByteImageC Blue() const
Returns the byte blue component of the color image.

DoubleImageC & RealY(DoubleImageC & image) const
Copies the Y component into the 'image' and returns the result.

DoubleImageC RealY() const
Returns the grey level image of Y component.

DoubleImageC RealRed() const
Returns the red component of the color image.

DoubleImageC RealGreen() const
Returns the green component of the color image.

DoubleImageC RealBlue() const
Returns the blue component of the color image.

RGBImageC Rgb() const
Converts the image into the image of byte colors in RGB space..

RealRGBImageC RealRgb() const
Creates a new handle for the image.

YUVImageC Yuv() const
Converts the image into the image of colors in YUV space.

RealYUVImageC RealYuv() const
Converts the image into the image of colors in real YUV color space. Geometric operations --------------------

RealRGBImageC ReduceAverage() const
Generates the new image which has half ranges of indexes. The new pixel values are averages of old ones.

RealRGBImageC ReduceSample() const
Generates the new image which has half ranges of indexes. The new pixel values are samples of old ones.

RealRGBImageC Rotate(const Point2dC & center,RealT angle,RGBPointC background) const
Rotates the image around the 'center' about the 'angle'. The values of the new image which are not defined have value 'background'. Colour operations -----------------

RealRGBImageC & Palette()
Color palette image.

const RealRGBImageC & operator/=(const RealT alpha)
Divides every color components by 'alpha' in each pixel.

const RealRGBImageC & operator+=(const RealRGBImageC & image)
Adds color components of the image to the related color components in each pixel of this image.

const RealRGBImageC & operator+=(const RGBImageC & image)
Adds color components of the image to the related color components in each pixel of this image.

const RealRGBImageC & operator/=(const RealRGBImageC & image)
Divides pixel by pixel and color component by color component in each pixel.

RGBImageC ScaleToRGBImage(const RGBPointC & min,const RGBPointC & max) const
Converts this image into the RGBImageC. The real RGB values are linearly scaled that 'min' values are related to the BLACK value and 'max' values are related to the WHITE value. The result values are cut. Colour statistics -----------------

MinMaxMeanCovariance3dC ExMeCo() const
Returns minima, maxima, mean values, and covariance matrix of RGB value in the image.

ByteImageC RGBChromaticityDiagram(const IndexT resolution) const
Returns the chromaticity diagram with the specific 'resolution using chromaticity derived from RGB values.

ByteImageC XYZChromaticityDiagram(const IndexT resolution) const
Returns the chromaticity diagram with the specific 'resolution using chromaticity derived from XYZ values. Input/Output operations -----------------------

void SaveAs(ImageOStreamC & outS,ImageFileFormatT format = ARY_RGB_R8)
Write the image into the output image stream. The format of the data in the stream is determined by 'format'.

void ReadData(ImageIStreamC & inS)
Read pixel values from the input stream 'inS'

#include "amma/Image.hh"
ImageC<RGBPointC> Copy() const
Creates another physical copy of this image.

void Copy(const ImageC<RGBPointC> & 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<RGBPointC> & operator=(const ImageC<RGBPointC> & image)
Assigment of a big object.

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<RGBPointC> & 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<RGBPointC> & 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<RGBPointC> & 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<RGBPointC> Rotate(const Point2dC & center,RealT angle,RGBPointC 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<RGBPointC> & originalImage,const Point2dC & center,RealT angle,RGBPointC 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<RGBPointC> 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<RGBPointC> & Fill(RGBPointC value)
Fills the image with "value"

ImageC<RGBPointC> & Frame(RGBPointC value)
Fills a 1-pixel-wide border around the image with "value"

ImageC<RGBPointC> & Frame(RGBPointC v,const ImageRectangleC & rect)
Fills a 1-pixel-wide rectangle with "v";
the rectangle is the intersection of "this" with "rect".

ImageC<RGBPointC> 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<RGBPointC> operator[](IndexT r) const
Access to the row of the row of pixels.

RangeBufferAccessC<RGBPointC> operator[](IndexT r)
Access to the row of the row of pixels.

RGBPointC & operator[](const Index2dC & pxl)
Returns the content of the pixel.

const RGBPointC & operator[](const Index2dC & pxl) const
Returns the content of the pixel.

RGBPointC & operator[](const PixelC & pxl)
Returns the content of the pixel.

const RGBPointC & operator[](const PixelC & pxl) const
Returns the content of the pixel.

const RGBPointC * CRow(PixelIndexT row) const
Access to the beginning of the row, eg. t
The returned pointer points to the first pixel of the "row".

RGBPointC * 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.

RGBPointC ** StartAddress() const
Returns the pointer to the table of pointers to image.
This being public is really only a hack! EXPERTS ONLY!

BufferRC<RGBPointC> & Buffer()
Access buffer where data is stored.

const BufferRC<RGBPointC> & Buffer() const
Access buffer where data is stored.

const RGBPointC * CMemRow(PixelIndexT row) const
Access to the beginning of the constant allocated row
I.e. the returned pointer points to the first pixel of "row".

RGBPointC * MemRow(PixelIndexT row)
Access to the beginning of the allocated row
I.e. the returned pointer points to the first pixel of "row".

Error checking.


void ErrNotValid(char * functionName) const
Triggers the error event if this image does not contain any data.

void AllocData()
Allocates a memory for image.

void AllocData(RGBPointC * value,BooleanT rowInv = false)
Allocates a access vector to the memory with data

void DeallocAccess()
Deallocates the access vector to the memory with data.

void DeallocData()
Deallocates the access vector and the memory containing data.

RangeBufferAccessC<RGBPointC> operator[](PixelIndexT row)

const RangeBufferAccessC<RGBPointC> operator[](PixelIndexT row) const

#include "amma/BasImage.hh"
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.

const BaseImageC & operator=(const BaseImageC & image)
Assigment (as a big object).

ImageFileInfoC * ChangeInfo(ImageFileInfoC * newInfo)
Changes the information about the origin of the image.
The function returns the old information.

void ShiftRows(const IndexT offset)
All indexes of the items will be shift by 'offset'.

void ShiftCols(const IndexT offset)
All indexes of the items will be shift by 'offset'.
Error checking. ---------------

void ErrNotInRange(Index2dC i,char * functionName) const
Triggers the error event if the index 'i' is out of the image range.

void ErrNotInRange(IndexT r,char * functionName) const
Triggers the error event if the row 'r' is out of the image range.

void ErrNotInAllocRange(IndexT r,char * functionName) const
Triggers the error event if the row 'r' is out of the allocated image range.

ImageRectangleC LoadImageRect(istream &)
Load image rectangle from stream.
This contains a hack to load the old coloumb/row stream correctly.

#include "amma/RefCount.hh"
BooleanT ToBeDeleted() const
Returns TRUE if the content should be deleted.

RCCountT 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.

BooleanT IsSingleReference()
Tests is there is only one reference to this object.

const RefCounterC & operator=(const RefCounterC & rC)

BooleanT ToBeDeletedUpdate(const RefCounterC & rC)
This function is the condition and the assigment together. It returns TRUE if the content should be deleted before assigning of the new object. The function automatically solves the reference counter of this object as well as the other object reference counter 'rC'.

void ReportInvalidObject(char * Msg = 0)
This function reports an error to the user if a problem is detected in the refrence counting mechanism.

#include "amma/ImageA.hh"
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

#include "amma/RefCBase.hh"
LabelT Label() const
Returns the label of this reference counter.
The member function is useful mainly to recognize objects during debugging. The value of the label is uniquely defined pointer.


Programmer:Radek Marik, Documentation by CxxDoc: Tue Mar 20 10:49:27 2001