latest version v1.9 - last update 10 Apr 2010 |
This functor makes a color interpolation of common BAYER Patterns used in digital cameras. More...
#include <ltiBayerDemosaicing.h>
Classes | |
class | parameters |
The parameters for the class bayerDemosaicing. More... | |
Public Types | |
enum | eBayerPattern { NoBayer, RGGB, BGGR, GBRG, GRBG } |
enum | eBayerMethod { Simple, NearestNeighbor } |
Public Member Functions | |
bayerDemosaicing () | |
bayerDemosaicing (const parameters &par) | |
bayerDemosaicing (const bayerDemosaicing &other) | |
virtual | ~bayerDemosaicing () |
virtual const char * | getTypeName () const |
bool | apply (const matrix< ubyte > &src, matrix< rgbPixel > &dest) const |
bayerDemosaicing & | copy (const bayerDemosaicing &other) |
bayerDemosaicing & | operator= (const bayerDemosaicing &other) |
virtual functor * | clone () const |
const parameters & | getParameters () const |
This functor makes a color interpolation of common BAYER Patterns used in digital cameras.
In a Bayer pattern there are three different color filters used in front of the actual pixels of the CCD chip.
They have the colors red(R), green(G), and blue(B). On a 2x2 grid of pixels two are always green and these always lie on a diagonal. This results in four possible constellations for the three colors.
If NoBayer is chosen then no demosaicing takes place. This makes sense for mono cameras or to avoid demosaicing.
NoBayer |
no Bayer pattern used, no demosaicing, mono camera |
RGGB |
Red, Green in first row, Green, Blue in second. |
BGGR |
Blue, Green in first row, Green, Red in second. |
GBRG |
Green, Blue in first row, Red, Green in second. |
GRBG |
Green, Red in first row, Blue, Green in second. |
lti::bayerDemosaicing::bayerDemosaicing | ( | ) |
Default constructor.
lti::bayerDemosaicing::bayerDemosaicing | ( | const parameters & | par | ) |
Construct a functor using the given parameters.
lti::bayerDemosaicing::bayerDemosaicing | ( | const bayerDemosaicing & | other | ) |
Copy constructor.
other | the object to be copied |
virtual lti::bayerDemosaicing::~bayerDemosaicing | ( | ) | [virtual] |
Destructor.
operates on a copy of the given parameters.
src | matrix<ubyte> with the source data. | |
dest | matrix<ubyte> where the result will be left. |
virtual functor* lti::bayerDemosaicing::clone | ( | ) | const [virtual] |
Returns a pointer to a clone of this functor.
Implements lti::functor.
bayerDemosaicing& lti::bayerDemosaicing::copy | ( | const bayerDemosaicing & | other | ) |
Copy data of "other" functor.
other | the functor to be copied |
Reimplemented from lti::functor.
const parameters& lti::bayerDemosaicing::getParameters | ( | ) | const |
Returns used parameters.
Reimplemented from lti::transform.
virtual const char* lti::bayerDemosaicing::getTypeName | ( | ) | const [virtual] |
Returns the name of this type ("bayerDemosaicing").
Reimplemented from lti::transform.
bayerDemosaicing& lti::bayerDemosaicing::operator= | ( | const bayerDemosaicing & | other | ) |