|
latest version v1.9 - last update 24 Nov 2005 |
|
#include <ltiImage.h>
Inheritance diagram for lti::channel:


Public Member Functions | |
| channel () | |
| channel (const int &rows, const int &cols, const float &iniValue=float()) | |
| channel (const int &rows, const int &cols, const float data[]) | |
| channel (const ipoint &size, const float &iniValue=float()) | |
| channel (const channel &other, const int &fromRow=0, const int &toRow=MaxInt32, const int &fromCol=0, const int &toCol=MaxInt32) | |
| channel (const bool ©Data, channel &other, const int &fromRow=0, const int &toRow=MaxInt32, const int &fromCol=0, const int &toCol=MaxInt32) | |
| channel (const bool &init, const int &rows, const int &cols) | |
| channel (const bool &init, const ipoint &size) | |
| virtual mathObject * | clone () const |
| virtual const char * | getTypeName () const |
| channel & | castFrom (const channel8 &other) |
| channel & | castFrom (const image &other) |
| channel & | mapLinear (const float &minVal, const float &maxVal, const float &minDest=0.0f, const float &maxDest=1.0f) |
| channel & | mapLinear (const channel &other, const float &minVal, const float &maxVal, const float &minDest=0.0f, const float &maxDest=1.0f) |
| template<class U> | |
| channel & | castFrom (const matrix< U > &other) |
This class is identical to a matrix of floats except for the method castFrom(channel8).
The typical value range is between 0.0f and 1.0f (see lti::image for more information).
|
|
default constructor creates an empty channel
|
|
||||||||||||||||
|
this constructor creates a connected
|
|
||||||||||||||||
|
this constructor creates a connected
The first
|
|
||||||||||||
|
this constructor creates a connected
|
|
||||||||||||||||||||||||
|
copy constructor. create this channel as a connected copy of another channel for this const version, the data will be always copied! It is also possible to create a copy of a subchannel of another channel.
lti::channel m(4,6,0); // channel with 24 elements // ... // initialize channel with: // 0 1 2 3 4 5 // 2 1 5 4 0 3 // 1 2 1 2 3 2 // 3 3 2 1 2 3 lti::channel sm(m,1,3,0,2) // this line will lead to the // following contents for sm: // 1 2 3 // 1 5 4 // 2 1 2 |
|
||||||||||||||||||||||||||||
|
copy constructor (reference to a subchannel). creates subchannel of another channel.
if
if Those algorithms which use direct access to the channel memory block should check first if the memory lies in a consecutive block! (see getMode())
|
|
||||||||||||||||
|
If init is true this constructor is equivalent to calling channel(const int& rows, const int& cols), and thus initializing all elements with T(). However, in some cases the elements need not be initialized during construction, since complex initializion is required. Especially for large matrices, the unnecessary constructor initialization is very time consuming. If init is false, memory is allocated but no initialization takes place. Thus the following is equivalent:
|
|
||||||||||||
|
If init is true this constructor is equivalent to calling channel(const int& rows, const int& cols), and thus initializing all elements with T(). However, in some cases the elements need not be initialized during construction, since complex initializion is required. Especially for large matrices, the unnecessary constructor initialization is very time consuming. If init is false, memory is allocated but no initialization takes place. Thus the following is equivalent:
|
|
||||||||||
|
copy the
Reimplemented from lti::matrix< float >. |
|
|
cast the image to an channel. It extracts the intensity channel of the image, defined as (R+G+B)/3, where R, G, and B are the red, green and blue components of the pixel. The elements of the resulting channel will be between 0.0f (black) and 1.0f (white).
|
|
|
copy the The elements of the channel8 will be also multiplied by 1/255.
|
|
|
create a clone of this channel
Reimplemented from lti::matrix< float >. |
|
|
return the name of this type
Reimplemented from lti::matrix< float >. |
|
||||||||||||||||||||||||
|
Apply a gray valued transformation which maps the given intervall of the other channel into [0.0,1.0] (default) or the explicitly given "destination" interval in this channel.
lti::channel chnl; // ... chnl.mapLinear(-1.0f,2.0f,0.0,1.0); // map [-1,2] to [0,1] // this is equivalent to (due to default "destination" interval) chnl.mapLinear(-1.0f,2.0f); Not that you can use this method to "invert" your gray values with |
|
||||||||||||||||||||
|
Apply a gray valued transformation which maps the given intervall to [0.0,1.0] (default) or the explicitly given "destination" interval.
lti::channel chnl; // ... chnl.mapLinear(-1.0f,2.0f,0.0,1.0); // map [-1,2] to [0,1] // this is equivalent to (due to default "destination" interval) chnl.mapLinear(-1.0f,2.0f); Not that you can use this method to "invert" your gray values with |