PARP Research Group University of Murcia, Spain


QVImage< Type, Channels > Class Template Reference
[Core classes]

Image representation class for the QVision. More...

#include <qvcore/qvimage.h>

Inherits QVGenericImage.

List of all members.

Public Member Functions

 QVImage ()
 Default constructor.
 QVImage (uInt cols, uInt rows, uInt step=0, const Type *buffer=NULL)
 Dimensions and buffer constructor.
 QVImage (QVImage< uChar, 1 > const &img)
 Copy constructor.
 QVImage (QVImage< uChar, 3 > const &img)
 QVImage (QVImage< uShort, 1 > const &img)
 QVImage (QVImage< uShort, 3 > const &img)
 QVImage (QVImage< sShort, 1 > const &img)
 QVImage (QVImage< sShort, 3 > const &img)
 QVImage (QVImage< sInt, 1 > const &img)
 QVImage (QVImage< sInt, 3 > const &img)
 QVImage (QVImage< sFloat, 1 > const &img)
 QVImage (QVImage< sFloat, 3 > const &img)
 QVImage (const QString &filename)
 QVImage (QVImage< uChar, 1 > const &red, QVImage< uChar, 1 > const &green, QVImage< uChar, 1 > const &blue)
 Compose copy constructor.
 QVImage (QVImage< uShort, 1 > const &red, QVImage< uShort, 1 > const &green, QVImage< uShort, 1 > const &blue)
 QVImage (QVImage< sShort, 1 > const &red, QVImage< sShort, 1 > const &green, QVImage< sShort, 1 > const &blue)
 QVImage (QVImage< sInt, 1 > const &red, QVImage< sInt, 1 > const &green, QVImage< sInt, 1 > const &blue)
 QVImage (QVImage< sFloat, 1 > const &red, QVImage< sFloat, 1 > const &green, QVImage< sFloat, 1 > const &blue)
 QVImage (const QImage &qImage)
 operator QImage () const
const char * getTypeQString () const
uInt getRows () const
uInt getCols () const
uInt getStep () const
uInt getChannels () const
uInt getDataSize () const
uInt getTypeSize () const
const Type * getReadData () const
 Method to obtain image data buffer, in read mode.
Type * getWriteData ()
 Method to obtain image data buffer, in read/write mode.
void set (Type c1=0, Type c2=0, Type c3=0)
 Sets pixel values for an image, to a given value.
void resize (const int cols, const int rows)
 Resizes the image.
Type & operator() (const uInt col, const uInt row, const uInt channel=0)
 Operator to access pixel values for a pixel channel, given it's coordinates.
Type operator() (const uInt col, const uInt row, const uInt channel=0) const
Type & operator() (const QPoint point, const uInt channel=0)
 Overload of operator (), to access pixel values for a pixel channel, given a QVPoint and a channel number.
Type operator() (const QPoint point, const uInt channel=0) const
QVImage< Type, 1 > operator() (const uInt channel=0) const
 Operator to access pixel values for a pixel channel, given it's coordinates.
QVImage< Type,
Channels > & 
operator= (const QVImage< uChar, 1 > &sourceImage)
 Copy operator.
QVImage< Type,
Channels > & 
operator= (const QVImage< uChar, 3 > &sourceImage)
QVImage< Type,
Channels > & 
operator= (const QVImage< uShort, 1 > &sourceImage)
QVImage< Type,
Channels > & 
operator= (const QVImage< uShort, 3 > &sourceImage)
QVImage< Type,
Channels > & 
operator= (const QVImage< sShort, 1 > &sourceImage)
QVImage< Type,
Channels > & 
operator= (const QVImage< sShort, 3 > &sourceImage)
QVImage< Type,
Channels > & 
operator= (const QVImage< sInt, 1 > &sourceImage)
QVImage< Type,
Channels > & 
operator= (const QVImage< sInt, 3 > &sourceImage)
QVImage< Type,
Channels > & 
operator= (const QVImage< sFloat, 1 > &sourceImage)
QVImage< Type,
Channels > & 
operator= (const QVImage< sFloat, 3 > &sourceImage)
bool operator== (const QVImage< Type, Channels > &img) const
 Equality compare operator.
bool operator!= (const QVImage< Type, Channels > &img) const
 Inequality compare operator.
QVImage< uChar, 1 > operator< (const QVImage< uChar, Channels > &img) const
 Pixel wise 'less than' compare operator.
QVImage< uChar, 1 > operator< (const QVImage< uShort, Channels > &img) const
 Pixel wise 'less than' compare operator.
QVImage< uChar, 1 > operator< (const QVImage< sShort, Channels > &img) const
 Pixel wise 'less than' compare operator.
QVImage< uChar, 1 > operator< (const QVImage< sInt, Channels > &img) const
 Pixel wise 'less than' compare operator.
QVImage< uChar, 1 > operator< (const QVImage< sFloat, Channels > &img) const
 Pixel wise 'less than' compare operator.
QVImage< uChar, 1 > operator> (const QVImage< uChar, Channels > &img) const
 Pixel wise 'greater than' compare operator.
QVImage< uChar, 1 > operator> (const QVImage< uShort, Channels > &img) const
 Pixel wise 'greater than' compare operator.
QVImage< uChar, 1 > operator> (const QVImage< sShort, Channels > &img) const
 Pixel wise 'greater than' compare operator.
QVImage< uChar, 1 > operator> (const QVImage< sInt, Channels > &img) const
 Pixel wise 'greater than' compare operator.
QVImage< uChar, 1 > operator> (const QVImage< sFloat, Channels > &img) const
 Pixel wise 'greater than' compare operator.
QVImage< uChar, 1 > operator<= (const QVImage< uChar, Channels > &img) const
 Pixel wise 'less or equal than' compare operator.
QVImage< uChar, 1 > operator<= (const QVImage< uShort, Channels > &img) const
 Pixel wise 'less or equal than' compare operator.
QVImage< uChar, 1 > operator<= (const QVImage< sShort, Channels > &img) const
 Pixel wise 'less or equal than' compare operator.
QVImage< uChar, 1 > operator<= (const QVImage< sInt, Channels > &img) const
 Pixel wise 'less or equal than' compare operator.
QVImage< uChar, 1 > operator<= (const QVImage< sFloat, Channels > &img) const
 Pixel wise 'less or equal than' compare operator.
QVImage< uChar, 1 > operator>= (const QVImage< uChar, Channels > &img) const
 Pixel wise 'greater or equal than' compare operator.
QVImage< uChar, 1 > operator>= (const QVImage< uShort, Channels > &img) const
 Pixel wise 'greater or equal than' compare operator.
QVImage< uChar, 1 > operator>= (const QVImage< sShort, Channels > &img) const
 Pixel wise 'greater or equal than' compare operator.
QVImage< uChar, 1 > operator>= (const QVImage< sInt, Channels > &img) const
 Pixel wise 'greater or equal than' compare operator.
QVImage< uChar, 1 > operator>= (const QVImage< sFloat, Channels > &img) const
 Pixel wise 'greater or equal than' compare operator.
QVImage< Type, Channels > operator+ (const Type constant) const
 Pixel wise constant add operator.
QVImage< Type, Channels > operator * (const Type constant) const
 Pixel wise constant product operator.
QVImage< Type, Channels > operator- (const Type constant) const
 Pixel wise constant subtraction operator.
QVImage< Type, Channels > operator/ (const Type constant) const
 Pixel wise constant division operator.
QVImage< Type, Channels > operator<< (const Type constant) const
 Pixel wise bit-wise left shift operator.
QVImage< Type, Channels > operator>> (const Type constant) const
 Pixel wise bit-wise right shift operator.
QVImage< Type, Channels > operator! () const
 Pixel wise bit-wise NOT operation.
QVImage< Type, Channels > operator & (const Type constant) const
 Pixel wise bit-wise boolean and operator.
QVImage< Type, Channels > operator| (const Type constant) const
 Pixel wise bit-wise boolean or operator.
QVImage< Type, Channels > operator^ (const Type constant) const
 Pixel wise bit-wise boolean xor operator.
QVImage< Type, Channels > operator+ (const QVImage< Type, Channels > &img) const
 Pixel wise add operator.
QVImage< Type, Channels > operator * (const QVImage< Type, Channels > &img) const
 Pixel wise mult operator.
QVImage< Type, Channels > operator- (const QVImage< Type, Channels > &img) const
 Pixel wise subtraction operator.
QVImage< Type, Channels > operator/ (const QVImage< Type, Channels > &img) const
 Pixel wise division operator.
template<>
const char * getTypeQString () const
 Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.
template<>
const char * getTypeQString () const
 Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.
template<>
const char * getTypeQString () const
 Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.
template<>
const char * getTypeQString () const
 Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.
template<>
const char * getTypeQString () const
 Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.
template<>
const char * getTypeQString () const
 Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.
template<>
const char * getTypeQString () const
 Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.
template<>
const char * getTypeQString () const
 Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.
template<>
const char * getTypeQString () const
 Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.
template<>
const char * getTypeQString () const
 Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.
template<>
 QVImage (const QImage &qimg)
template<>
 operator QImage () const

Protected Attributes

uInt step_div_type_size
QSharedDataPointer
< QVImageBuffer
< Type, Channels > > 
imageBuffer


Detailed Description

template<typename Type, int Channels = 1>
class QVImage< Type, Channels >

Image representation class for the QVision.

QVImage class extends QVGenericImage, and wraps the data buffer and other values related to an image in a simple and lightweight structure, easy to use.

For further info about image objects and image usage, see section Image processing of the manual.

Definition at line 164 of file qvimage.h.


Constructor & Destructor Documentation

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage (  )  [inline]

Default constructor.

Initializes image with a data buffer of size 1x1. Sets anchor to pixel (0,0), and region of interest to a rectangle containing the only pixel of the image.

Definition at line 176 of file qvimage.h.

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage ( uInt  cols,
uInt  rows,
uInt  step = 0,
const Type *  buffer = NULL 
) [inline]

Dimensions and buffer constructor.

Deprecated:
You shouldn't be able to specify a pointer to a buffer. If you need a image data buffer, create an image, and use it's. Creates an image of dimension cols x rows, and optionally you can define a given step for the image. If buffer points to a region of memory, it will use that region as image data. Step paramameter should be the width of the lines in the data buffer, if the parameter buffer points to a data buffer in memory.
An example of this can be seen in the following code:

                uChar data_buffer[10][12] =     {
                                                { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 3, 7 },
                                                { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 3, 7 },
                                                { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 3, 7 },
                                                { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 3, 7 },
                                                { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 3, 7 },
                                                { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 3, 7 },
                                                { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 3, 7 },
                                                { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 3, 7 },
                                                { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 3, 7 },
                                                { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 3, 7 }
                                                };
                
                // Creates a QVImage of size 10x10, ROI covering the whole image, and anchor pointing at pixel (0,0).
                // Data buffer of the image will point to matrix data_buffer.
                
                // The final values of each line, those in 11th and 12th columns will not be considered as part of the
                // image. Step is the length of the lines of data_buffer, 12, not the number of columns.
                QVImage<uChar> imageCharBuffer(10,10, 12, data_buffer);

Parameters:
cols number of columns for the image.
rows number of rows for the image.
step defined step for the data buffer of the image. It should always be greater than the number of columns.
buffer pointer to a memory zone where image is and will be stored.

Definition at line 220 of file qvimage.h.

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage ( QVImage< uChar, 1 > const &  img  ) 

Copy constructor.

This constructor can be used to construct an image from another one with same bit depth and channel number, or from an image differing in type or number of channels.

In the former case, this constructor will do a copy-on-write, duplicating the pointer to the data buffer of the image, and efectively copying the data only when modifying it if shared by more than one QVImage object.

In the latter case, it will always allocate a new data buffer for the image, and make a conversion from different bit depth or channel number. Note that you can never convert from an image that differs in data type and bit-depth with the constructed image.

This constructor will copy the ROI and anchor of the parameter image.

Parameters:
img image to be copied.

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage ( QVImage< uChar, 3 > const &  img  ) 

Overloaded copy constructor.

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage ( QVImage< uShort, 1 > const &  img  ) 

Overloaded copy constructor.

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage ( QVImage< uShort, 3 > const &  img  ) 

Overloaded copy constructor.

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage ( QVImage< sShort, 1 > const &  img  ) 

Overloaded copy constructor.

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage ( QVImage< sShort, 3 > const &  img  ) 

Overloaded copy constructor.

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage ( QVImage< sInt, 1 > const &  img  ) 

Overloaded copy constructor.

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage ( QVImage< sInt, 3 > const &  img  ) 

Overloaded copy constructor.

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage ( QVImage< sFloat, 1 > const &  img  ) 

Overloaded copy constructor.

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage ( QVImage< sFloat, 3 > const &  img  ) 

Overloaded copy constructor.

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage ( const QString &  filename  )  [inline]

Todo:
document this function

Definition at line 274 of file qvimage.h.

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage ( QVImage< uChar, 1 > const &  red,
QVImage< uChar, 1 > const &  green,
QVImage< uChar, 1 > const &  blue 
)

Compose copy constructor.

This constructor can be used to construct a 3-channels image from 3 1-channel images.

This constructor will copy the ROI and anchor of the first parameter image.

Parameters:
red image to be copied to the first channel.
green image to be copied to the second channel.
blue image to be copied to the third channel.

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage ( QVImage< uShort, 1 > const &  red,
QVImage< uShort, 1 > const &  green,
QVImage< uShort, 1 > const &  blue 
)

Overloaded compose copy constructor

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage ( QVImage< sShort, 1 > const &  red,
QVImage< sShort, 1 > const &  green,
QVImage< sShort, 1 > const &  blue 
)

Overloaded compose copy constructor

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage ( QVImage< sInt, 1 > const &  red,
QVImage< sInt, 1 > const &  green,
QVImage< sInt, 1 > const &  blue 
)

Overloaded compose copy constructor

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage ( QVImage< sFloat, 1 > const &  red,
QVImage< sFloat, 1 > const &  green,
QVImage< sFloat, 1 > const &  blue 
)

Overloaded compose copy constructor

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::QVImage ( const QImage &  qImage  ) 

Convert constructor for QImage objects


Member Function Documentation

template<typename Type, int Channels = 1>
QVImage< Type, Channels >::operator QImage (  )  const

Converts the QVImage to a QImage object

template<typename Type, int Channels = 1>
const char* QVImage< Type, Channels >::getTypeQString (  )  const [virtual]

Overloaded function from QVGenericImage::getTypeQString()

Implements QVGenericImage.

template<typename Type, int Channels = 1>
uInt QVImage< Type, Channels >::getStep (  )  const [inline, virtual]

template<typename Type, int Channels = 1>
uInt QVImage< Type, Channels >::getChannels (  )  const [inline, virtual]

Overloaded function from QVGenericImage::getChannels()

Implements QVGenericImage.

Definition at line 345 of file qvimage.h.

Referenced by QVImage< Type, Channels >::operator==().

template<typename Type, int Channels = 1>
uInt QVImage< Type, Channels >::getDataSize (  )  const [inline, virtual]

Overloaded function from QVGenericImage::getDataSize()

Implements QVGenericImage.

Definition at line 348 of file qvimage.h.

Referenced by QVImage< unsigned char >::operator()().

template<typename Type, int Channels = 1>
uInt QVImage< Type, Channels >::getTypeSize (  )  const [inline, virtual]

Overloaded function from QVGenericImage::getTypeSize()

Implements QVGenericImage.

Definition at line 351 of file qvimage.h.

template<typename Type, int Channels = 1>
const Type* QVImage< Type, Channels >::getReadData (  )  const [inline]

Method to obtain image data buffer, in read mode.

This method can be used to program fast access algorithms to pixel values in an image.

It is intended to be used only to read pixels in an image, thus getWriteData() method should be used when access to write or read/write is intended to be done.

This function will generally be faster than getWriteData(), because it will not need to realize copy on write, in the case that the image data buffer where shared with other QVImage.

Definition at line 363 of file qvimage.h.

Referenced by InpaintInitAllocC1(), InpaintInitAllocC3(), QVImage< Type, Channels >::operator QImage(), QVCUDAImage< Type, Channels >::uploadToDevice(), and writeUCharImageToFile().

template<typename Type, int Channels = 1>
Type* QVImage< Type, Channels >::getWriteData (  )  [inline]

Method to obtain image data buffer, in read/write mode.

This method can be used to program fast access algorithms to pixel values in an image.

This function will perform copy on write in the case that the data buffer for this image where shared with other QVImage's.

Thus can be slower than getReadData() method to access image pixels, but will ensure avoiding side effects on modifying shared buffers with other images.

Definition at line 375 of file qvimage.h.

Referenced by Canny(), QVCUDAImage< Type, Channels >::downloadFromDevice(), FastMarching(), MinEigenVal(), QVImage< Type, Channels >::QVImage(), and readToBuffer().

template<typename Type, int Channels = 1>
void QVImage< Type, Channels >::set ( Type  c1 = 0,
Type  c2 = 0,
Type  c3 = 0 
)

Sets pixel values for an image, to a given value.

This method uses the region of interest of the image, to set pixels inside it to a given value. It can be used either for one channel, or several channel images.

In the former case, it should be used with one parameter, only specifying value for the first channel, otherwise, values for other channels will be ignored. If no parameters are given, the image region of interest will be set to zero value pixels.

In the latter case, default values of 0 will be used if there are unspecified channel values.

Parameters:
c1 value to set pixel's first channel in the region of interest of the image.
c2 value to set pixel's second channel in the region of interest of the image.
c3 value to set pixel's third channel in the region of interest of the image.

template<typename Type, int Channels = 1>
void QVImage< Type, Channels >::resize ( const int  cols,
const int  rows 
) [inline]

Resizes the image.

This method reserves extra space for a larger image.

Parameters:
cols new columns number.
rows new row number.

Definition at line 400 of file qvimage.h.

template<typename Type, int Channels = 1>
Type& QVImage< Type, Channels >::operator() ( const uInt  col,
const uInt  row,
const uInt  channel = 0 
) [inline]

Operator to access pixel values for a pixel channel, given it's coordinates.

This operator can be used either with one channel or multichannel images. In the first case, it shouldn't be given a channel number, to use the default zero value.

Parameters:
col column number of pixel to be accessed.
row row number of pixel to be accessed.
channel channel number of pixel to be accessed.

Definition at line 419 of file qvimage.h.

template<typename Type, int Channels = 1>
Type& QVImage< Type, Channels >::operator() ( const QPoint  point,
const uInt  channel = 0 
) [inline]

Overload of operator (), to access pixel values for a pixel channel, given a QVPoint and a channel number.

This overload is like the previous, but can be used with a QPoint, to access a concrete pixel in the image.

Parameters:
point QPoint indicating location of the pixel to be accessed.
channel channel number of pixel to be accessed.

Definition at line 449 of file qvimage.h.

template<typename Type, int Channels = 1>
QVImage<Type, 1> QVImage< Type, Channels >::operator() ( const uInt  channel = 0  )  const

Operator to access pixel values for a pixel channel, given it's coordinates.

This operator can be used either with one channel or multichannel images. In the first case, it shouldn't be given a channel number, to use the default zero value.

Parameters:
col column number of pixel to be accessed.
row row number of pixel to be accessed.
channel channel number of pixel to be accessed.

template<typename Type, int Channels = 1>
QVImage<Type, Channels>& QVImage< Type, Channels >::operator= ( const QVImage< uChar, 1 > &  sourceImage  ) 

Copy operator.

Like the copy constructor, this operator can be used to copy an image from another one with same bit depth and channel number, or from an image differing in type or number of channels.

In the former case, this operator will do a copy-on-write, duplicating the pointer to the data buffer of the image, and efectively copying the data only when modifying it if shared by more than one QVImage object.

In the latter case, it will always allocate a new data buffer for the image, and make a conversion from different bit depth or channel number. Note that you can never convert from an image that differs in data type and bit-depth with the constructed image.

The copy operator will copy the ROI and anchor of the parameter image.

Parameters:
img image to be copied.

template<typename Type, int Channels = 1>
QVImage<Type, Channels>& QVImage< Type, Channels >::operator= ( const QVImage< uChar, 3 > &  sourceImage  ) 

Overloaded copy operator.

template<typename Type, int Channels = 1>
QVImage<Type, Channels>& QVImage< Type, Channels >::operator= ( const QVImage< uShort, 1 > &  sourceImage  ) 

Overloaded copy operator.

template<typename Type, int Channels = 1>
QVImage<Type, Channels>& QVImage< Type, Channels >::operator= ( const QVImage< uShort, 3 > &  sourceImage  ) 

Overloaded copy operator.

template<typename Type, int Channels = 1>
QVImage<Type, Channels>& QVImage< Type, Channels >::operator= ( const QVImage< sShort, 1 > &  sourceImage  ) 

Overloaded copy operator.

template<typename Type, int Channels = 1>
QVImage<Type, Channels>& QVImage< Type, Channels >::operator= ( const QVImage< sShort, 3 > &  sourceImage  ) 

Overloaded copy operator.

template<typename Type, int Channels = 1>
QVImage<Type, Channels>& QVImage< Type, Channels >::operator= ( const QVImage< sInt, 1 > &  sourceImage  ) 

Overloaded copy operator.

template<typename Type, int Channels = 1>
QVImage<Type, Channels>& QVImage< Type, Channels >::operator= ( const QVImage< sInt, 3 > &  sourceImage  ) 

Overloaded copy operator.

template<typename Type, int Channels = 1>
QVImage<Type, Channels>& QVImage< Type, Channels >::operator= ( const QVImage< sFloat, 1 > &  sourceImage  ) 

Overloaded copy operator.

template<typename Type, int Channels = 1>
QVImage<Type, Channels>& QVImage< Type, Channels >::operator= ( const QVImage< sFloat, 3 > &  sourceImage  ) 

Overloaded copy operator.

template<typename Type, int C>
bool QVImage< Type, C >::operator== ( const QVImage< Type, C > &  img  )  const [inline]

Equality compare operator.

This operator will compare two images of same bit depth and channel number, and will return true if images are equal in all of these:

  • dimensions (cols and rows).
  • region of interest.
  • content of region of interest. returning false otherwise.

Parameters:
img image to compare with this image.

Definition at line 829 of file qvimage.h.

template<typename Type, int Channels = 1>
bool QVImage< Type, Channels >::operator!= ( const QVImage< Type, Channels > &  img  )  const [inline]

Inequality compare operator.

This operator will compare two images of same bit depth and channel number, and will return true if images differ in any of:

  • dimensions (cols and rows).
  • region of interest.
  • content of region of interest. returning false otherwise.

Todo:
Shouldn't ignore dimensions in caparisons, and only check if region of interest content are the same?
Parameters:
img image to compare with this image.
Returns:
true if images are practically equal (same content of region of interest and dimensions).

Definition at line 553 of file qvimage.h.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator< ( const QVImage< uChar, Channels > &  img  )  const

Pixel wise 'less than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is less than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator< ( const QVImage< uShort, Channels > &  img  )  const

Pixel wise 'less than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is less than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator< ( const QVImage< sShort, Channels > &  img  )  const

Pixel wise 'less than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is less than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator< ( const QVImage< sInt, Channels > &  img  )  const

Pixel wise 'less than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is less than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator< ( const QVImage< sFloat, Channels > &  img  )  const

Pixel wise 'less than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is less than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator> ( const QVImage< uChar, Channels > &  img  )  const

Pixel wise 'greater than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is greater than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator> ( const QVImage< uShort, Channels > &  img  )  const

Pixel wise 'greater than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is greater than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator> ( const QVImage< sShort, Channels > &  img  )  const

Pixel wise 'greater than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is greater than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator> ( const QVImage< sInt, Channels > &  img  )  const

Pixel wise 'greater than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is greater than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator> ( const QVImage< sFloat, Channels > &  img  )  const

Pixel wise 'greater than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is greater than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator<= ( const QVImage< uChar, Channels > &  img  )  const

Pixel wise 'less or equal than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is less or equal than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator<= ( const QVImage< uShort, Channels > &  img  )  const

Pixel wise 'less or equal than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is less or equal than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator<= ( const QVImage< sShort, Channels > &  img  )  const

Pixel wise 'less or equal than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is less or equal than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator<= ( const QVImage< sInt, Channels > &  img  )  const

Pixel wise 'less or equal than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is less or equal than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator<= ( const QVImage< sFloat, Channels > &  img  )  const

Pixel wise 'less or equal than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is less or equal than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator>= ( const QVImage< uChar, Channels > &  img  )  const

Pixel wise 'greater or equal than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is greater or equal than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator>= ( const QVImage< uShort, Channels > &  img  )  const

Pixel wise 'greater or equal than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is greater or equal than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator>= ( const QVImage< sShort, Channels > &  img  )  const

Pixel wise 'greater or equal than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is greater or equal than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator>= ( const QVImage< sInt, Channels > &  img  )  const

Pixel wise 'greater or equal than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is greater or equal than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<uChar, 1> QVImage< Type, Channels >::operator>= ( const QVImage< sFloat, Channels > &  img  )  const

Pixel wise 'greater or equal than' compare operator.

Parameters:
img image to compare with this image.
Returns:
1-channel uChar bit depth image containing non-zero values for pixels which value for corresponding pixel in this image is greater or equal than value for corresponding pixel in given image.

template<typename Type, int Channels = 1>
QVImage<Type, Channels> QVImage< Type, Channels >::operator+ ( const Type  constant  )  const

Pixel wise constant add operator.

Uses as the second operand a constant value for every pixel computed.

Saturation is used for integer bit depth data (any except sFloat bit depth). Regions of interests, and anchors are applied in this operator.

Parameters:
constant second operand value.
Returns:
resulting image for the operation.

template<typename Type, int Channels = 1>
QVImage<Type, Channels> QVImage< Type, Channels >::operator * ( const Type  constant  )  const

Pixel wise constant product operator.

Uses as the second operand a constant value for every pixel computed.

Saturation is used for integer bit depth data (any except sFloat bit depth). Regions of interests, and anchors are applied in this operator.

Parameters:
constant second operand value.
Returns:
resulting image for the operation.

template<typename Type, int Channels = 1>
QVImage<Type, Channels> QVImage< Type, Channels >::operator- ( const Type  constant  )  const

Pixel wise constant subtraction operator.

Uses as the second operand a constant value for every pixel computed.

Saturation is used for integer bit depth data (any except sFloat bit depth). Regions of interests, and anchors are applied in this operator.

Parameters:
constant second operand value.
Returns:
resulting image for the operation.

template<typename Type, int Channels = 1>
QVImage<Type, Channels> QVImage< Type, Channels >::operator/ ( const Type  constant  )  const

Pixel wise constant division operator.

Uses as the second operand a constant value for every pixel computed.

Saturation is used for integer bit depth data (any except sFloat bit depth). Regions of interests, and anchors are applied in this operator.

Parameters:
constant second operand value.
Returns:
resulting image for the operation.

template<typename Type, int Channels = 1>
QVImage<Type, Channels> QVImage< Type, Channels >::operator<< ( const Type  constant  )  const

Pixel wise bit-wise left shift operator.

Uses as the value to shift a constant value for every pixel computed.

Saturation is used for integer bit depth data (any except sFloat bit depth). Regions of interests, and anchors are applied in this operator.

Parameters:
constant second operand value.
Returns:
resulting image for the operation.

template<typename Type, int Channels = 1>
QVImage<Type, Channels> QVImage< Type, Channels >::operator>> ( const Type  constant  )  const

Pixel wise bit-wise right shift operator.

Uses as the value to shift a constant value for every pixel computed.

Saturation is used for integer bit depth data (any except sFloat bit depth). Regions of interests, and anchors are applied in this operator.

Parameters:
constant second operand value.
Returns:
resulting image for the operation.

template<typename Type, int Channels = 1>
QVImage<Type, Channels> QVImage< Type, Channels >::operator! (  )  const

Pixel wise bit-wise NOT operation.

Regions of interests, and anchors are applied in this operator.

Returns:
resulting image for the operation.

template<typename Type, int Channels = 1>
QVImage<Type, Channels> QVImage< Type, Channels >::operator & ( const Type  constant  )  const

Pixel wise bit-wise boolean and operator.

Regions of interests, and anchors are applied in this operator.

Parameters:
constant second operand value.
Returns:
resulting image for the operation.

template<typename Type, int Channels = 1>
QVImage<Type, Channels> QVImage< Type, Channels >::operator| ( const Type  constant  )  const

Pixel wise bit-wise boolean or operator.

Regions of interests, and anchors are applied in this operator.

Parameters:
constant second operand value.
Returns:
resulting image for the operation.

template<typename Type, int Channels = 1>
QVImage<Type, Channels> QVImage< Type, Channels >::operator^ ( const Type  constant  )  const

Pixel wise bit-wise boolean xor operator.

Regions of interests, and anchors are applied in this operator.

Parameters:
constant second operand value.
Returns:
resulting image for the operation.

template<typename Type, int Channels = 1>
QVImage<Type, Channels> QVImage< Type, Channels >::operator+ ( const QVImage< Type, Channels > &  img  )  const

Pixel wise add operator.

Saturation is used for integer bit depth data (any except sFloat bit depth). Regions of interests, and anchors are applied in this operator.

Parameters:
img operand image.
Returns:
resulting image for the operation.

template<typename Type, int Channels = 1>
QVImage<Type, Channels> QVImage< Type, Channels >::operator * ( const QVImage< Type, Channels > &  img  )  const

Pixel wise mult operator.

Saturation is used for integer bit depth data (any except sFloat bit depth). Regions of interests, and anchors are applied in this operator.

Parameters:
img operand image.
Returns:
resulting image for the operation.

template<typename Type, int Channels = 1>
QVImage<Type, Channels> QVImage< Type, Channels >::operator- ( const QVImage< Type, Channels > &  img  )  const

Pixel wise subtraction operator.

Saturation is used for integer bit depth data (any except sFloat bit depth). Regions of interests, and anchors are applied in this operator.

Parameters:
img operand image.
Returns:
resulting image for the operation.

template<typename Type, int Channels = 1>
QVImage<Type, Channels> QVImage< Type, Channels >::operator/ ( const QVImage< Type, Channels > &  img  )  const

Pixel wise division operator.

Saturation is used for integer bit depth data (any except sFloat bit depth). Regions of interests, and anchors are applied in this operator.

Parameters:
img operand image.
Returns:
resulting image for the operation.

template<>
const char * QVImage< uChar, 1 >::getTypeQString (  )  const [inline, virtual]

Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.

Returns:
pointer to a constant char string identifying image type.

Implements QVGenericImage.

Definition at line 29 of file qvimage.cpp.

template<>
const char * QVImage< uChar, 3 >::getTypeQString (  )  const [inline, virtual]

Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.

Returns:
pointer to a constant char string identifying image type.

Implements QVGenericImage.

Definition at line 30 of file qvimage.cpp.

template<>
const char * QVImage< uShort, 1 >::getTypeQString (  )  const [inline, virtual]

Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.

Returns:
pointer to a constant char string identifying image type.

Implements QVGenericImage.

Definition at line 31 of file qvimage.cpp.

template<>
const char * QVImage< uShort, 3 >::getTypeQString (  )  const [inline, virtual]

Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.

Returns:
pointer to a constant char string identifying image type.

Implements QVGenericImage.

Definition at line 32 of file qvimage.cpp.

template<>
const char * QVImage< sShort, 1 >::getTypeQString (  )  const [inline, virtual]

Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.

Returns:
pointer to a constant char string identifying image type.

Implements QVGenericImage.

Definition at line 33 of file qvimage.cpp.

template<>
const char * QVImage< sShort, 3 >::getTypeQString (  )  const [inline, virtual]

Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.

Returns:
pointer to a constant char string identifying image type.

Implements QVGenericImage.

Definition at line 34 of file qvimage.cpp.

template<>
const char * QVImage< sInt, 1 >::getTypeQString (  )  const [inline, virtual]

Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.

Returns:
pointer to a constant char string identifying image type.

Implements QVGenericImage.

Definition at line 35 of file qvimage.cpp.

template<>
const char * QVImage< sInt, 3 >::getTypeQString (  )  const [inline, virtual]

Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.

Returns:
pointer to a constant char string identifying image type.

Implements QVGenericImage.

Definition at line 36 of file qvimage.cpp.

template<>
const char * QVImage< sFloat, 1 >::getTypeQString (  )  const [inline, virtual]

Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.

Returns:
pointer to a constant char string identifying image type.

Implements QVGenericImage.

Definition at line 37 of file qvimage.cpp.

template<>
const char * QVImage< sFloat, 3 >::getTypeQString (  )  const [inline, virtual]

Function to make introspection in the image, and obtain a char string identifying the type of the real image contained in the QVGenericImage.

Returns:
pointer to a constant char string identifying image type.

Implements QVGenericImage.

Definition at line 38 of file qvimage.cpp.


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



QVision framework. PARP research group, copyright 2007, 2008.