Color model based on a lookup table. More...
#include <>>
Public Member Functions | |
ColorModelLookupTable (YuvColormap *colormap) | |
Create a lookup table with given dimensions _not_ using shared memory. | |
ColorModelLookupTable (const char *file) | |
Create a lookup table, load contents from file. | |
ColorModelLookupTable (const char *file, const char *lut_id, bool destroy_on_free=false) | |
Create a lookup table using shared memory, load contents from file. | |
ColorModelLookupTable (unsigned int depth, const char *lut_id, bool destroy_on_free) | |
Create a lookup table with given dimensions using shared memory. | |
ColorModelLookupTable (const char *lut_id, bool destroy_on_free) | |
Create a lookup table with given dimensions using shared memory. | |
virtual | ~ColorModelLookupTable () |
Destructor. | |
virtual color_t | determine (unsigned int y, unsigned int u, unsigned int v) const |
Determine classification of YUV pixel. | |
const char * | get_name () |
Get name of color model. | |
YuvColormap * | get_colormap () const |
Get colormap. | |
void | load (const char *filename) |
Load colormap from file. | |
void | reset () |
Reset colormap. | |
ColorModelLookupTable & | operator+= (const ColorModelLookupTable &cmlt) |
Add colormaps. | |
Static Public Member Functions | |
static std::string | compose_filename (const std::string format) |
Compose filename. |
Color model based on a lookup table.
Very fast and easy implementation of a lookup table. It ignores the luminance and determines the classification just based on the U and V chrominance values. This model is very versatile as you can generate the lookuptable with many different methods.
Definition at line 37 of file lookuptable.h.
firevision::ColorModelLookupTable::ColorModelLookupTable | ( | YuvColormap * | colormap | ) |
Create a lookup table with given dimensions _not_ using shared memory.
colormap | colormap to use, the colormap is consumed, meaning that the color model takes ownership of the colormap and deletes it in its dtor. |
Definition at line 64 of file lookuptable.cpp.
firevision::ColorModelLookupTable::ColorModelLookupTable | ( | const char * | file | ) |
Create a lookup table, load contents from file.
file | name of the file to load from |
Definition at line 115 of file lookuptable.cpp.
References firevision::ColormapFile::get_colormap(), and firevision::FireVisionDataFile::read().
firevision::ColorModelLookupTable::ColorModelLookupTable | ( | const char * | file, | |
const char * | lut_id, | |||
bool | destroy_on_free = false | |||
) |
Create a lookup table using shared memory, load contents from file.
file | name of the file to load from | |
lut_id | ID of the LUT in shared memory, use a constant from utils/shm_registry.h | |
destroy_on_free | true to destroy lookup table in shmem on delete |
Definition at line 96 of file lookuptable.cpp.
References firevision::ColormapFile::get_colormap(), and firevision::FireVisionDataFile::read().
firevision::ColorModelLookupTable::ColorModelLookupTable | ( | unsigned int | depth, | |
const char * | lut_id, | |||
bool | destroy_on_free | |||
) |
Create a lookup table with given dimensions using shared memory.
depth | depth of the lookup table | |
lut_id | ID of the LUT in shared memory | |
destroy_on_free | true to destroy lookup table in shmem on delete |
Definition at line 84 of file lookuptable.cpp.
firevision::ColorModelLookupTable::ColorModelLookupTable | ( | const char * | lut_id, | |
bool | destroy_on_free | |||
) |
Create a lookup table with given dimensions using shared memory.
lut_id | ID of the LUT in shared memory | |
destroy_on_free | true to destroy lookup table in shmem on delete |
Definition at line 73 of file lookuptable.cpp.
firevision::ColorModelLookupTable::~ColorModelLookupTable | ( | ) | [virtual] |
Destructor.
Definition at line 129 of file lookuptable.cpp.
std::string firevision::ColorModelLookupTable::compose_filename | ( | const std::string | format | ) | [static] |
Compose filename.
format | format string |
Definition at line 196 of file lookuptable.cpp.
color_t firevision::ColorModelLookupTable::determine | ( | unsigned int | y, | |
unsigned int | u, | |||
unsigned int | v | |||
) | const [inline, virtual] |
Determine classification of YUV pixel.
Given a pixel in the YUV colorspace the colormodel determines the color classification based on some a-priori knowledge.
y | Y value | |
u | U value | |
v | V value |
Implements firevision::ColorModel.
Definition at line 67 of file lookuptable.h.
References firevision::YuvColormap::determine().
YuvColormap * firevision::ColorModelLookupTable::get_colormap | ( | ) | const |
Get colormap.
Definition at line 145 of file lookuptable.cpp.
const char * firevision::ColorModelLookupTable::get_name | ( | ) | [virtual] |
Get name of color model.
Implements firevision::ColorModel.
Definition at line 136 of file lookuptable.cpp.
void firevision::ColorModelLookupTable::load | ( | const char * | filename | ) |
Load colormap from file.
filename | name of colormap file |
Definition at line 155 of file lookuptable.cpp.
References firevision::ColormapFile::get_colormap(), and firevision::FireVisionDataFile::read().
ColorModelLookupTable & firevision::ColorModelLookupTable::operator+= | ( | const ColorModelLookupTable & | cmlt | ) |
Add colormaps.
This adds the colormap of the given lookuptable color model to internals colormap.
cmlt | lookup table color model to copy data from |
Definition at line 176 of file lookuptable.cpp.
void firevision::ColorModelLookupTable::reset | ( | ) |
Reset colormap.
Definition at line 185 of file lookuptable.cpp.
References firevision::YuvColormap::reset().