18 #ifndef PIC_FILTERING_FILTER_COLOR_CONV_HPP 19 #define PIC_FILTERING_FILTER_COLOR_CONV_HPP 21 #include "../filtering/filter.hpp" 22 #include "../colors/color_conv.hpp" 23 #include "../colors/color_conv_rgb_to_xyz.hpp" 24 #include "../colors/color_conv_xyz_to_logluv.hpp" 25 #include "../colors/color_conv_xyz_to_cielab.hpp" 41 std::vector<ColorConvTransform>
list;
58 int channels = src[0]->channels;
60 float *tmpCol =
new float [channels];
65 for(
int j = box->
y0; j < box->y1; j++) {
67 for(
int i = box->
x0; i < box->x1; i++) {
69 float *dataIn = (*src[0])(i, j);
70 float *dataOut = (*dst) (i, j);
82 for(
unsigned int k = 1; k <
n; k++) {
87 for(
unsigned int k = 1; k <
n; k++) {
104 this->bDirection =
true;
115 if(transform != NULL) {
120 list.push_back(entry);
123 n = int(
list.size());
void ProcessBBox(Image *dst, ImageVec src, BBox *box)
ProcessBBox.
Definition: filter_color_conv.hpp:52
The BBox class manages the creation of bounding boxes for images.
Definition: bbox.hpp:29
bool bDirection
Definition: filter_color_conv.hpp:42
static Image * fromRGBtoLogLuv(Image *imgIn, Image *imgOut)
fromRGBtoLogLuv
Definition: filter_color_conv.hpp:177
The ColorConvXYZtoCIELAB class.
Definition: color_conv_xyz_to_cielab.hpp:36
std::vector< Image * > ImageVec
ImageVec an std::vector of pic::Image.
Definition: image_vec.hpp:29
int x0
Definition: bbox.hpp:32
The Filter class.
Definition: filter.hpp:50
The ColorConvRGBtoXYZ class.
Definition: color_conv_rgb_to_xyz.hpp:38
virtual Image * Process(ImageVec imgIn, Image *imgOut)
Process.
Definition: filter.hpp:390
unsigned int n
Definition: filter_color_conv.hpp:43
bool bEven
Definition: filter_color_conv.hpp:44
The FilterColorConv class.
Definition: filter_color_conv.hpp:38
static Image * fromCIELABtoRGB(Image *imgIn, Image *imgOut)
fromCIELABtoRGB
Definition: filter_color_conv.hpp:196
int y0
Definition: bbox.hpp:32
FilterColorConv()
FilterColorConv.
Definition: filter_color_conv.hpp:102
std::vector< ColorConvTransform > list
Definition: filter_color_conv.hpp:41
void insertColorConv(ColorConv *transform, bool bDirection)
insertColorConv
Definition: filter_color_conv.hpp:113
The ColorConvXYZtoLogLuv class.
Definition: color_conv_xyz_to_logluv.hpp:28
The Image class stores an image as buffer of float.
Definition: image.hpp:60
PIC_INLINE ImageVec Single(Image *img)
Single creates an std::vector which contains img; this is for filters input.
Definition: image_vec.hpp:36
void update(bool bDirection)
update
Definition: filter_color_conv.hpp:131
Definition: bilateral_separation.hpp:25
static Image * fromRGBtoXYZ(Image *imgIn, Image *imgOut)
fromRGBtoXYZ
Definition: filter_color_conv.hpp:142
static Image * fromCIELABtoRGB2(Image *imgIn, Image *imgOut)
fromCIELABtoRGB2
Definition: filter_color_conv.hpp:215
The ColorConv class.
Definition: color_conv.hpp:26
static Image * fromRGBtoCIELAB(Image *imgIn, Image *imgOut)
fromRGBtoCIELAB
Definition: filter_color_conv.hpp:158