18 #ifndef PIC_FILTERING_FILTER_ZERO_CROSSING_HPP 19 #define PIC_FILTERING_FILTER_ZERO_CROSSING_HPP 21 #include "../filtering/filter.hpp" 41 float *data_src = (*data->
src[0])(data->
x, data->
y);
42 float *data_src0 = (*data->
src[0])(data->
x, data->
y + 1);
43 float *data_src1 = (*data->
src[0])(data->
x + 1, data->
y);
45 for(
int k = 0; k < data->
src[0]->channels; k++) {
46 value = (data_src[k] == 0.0f) ? 1.0
f : 0.0
f;
47 value = (data_src[k] > 0.0f && data_src0[k] < 0.0f) ? 1.0
f : value;
48 value = (data_src[k] < 0.0f && data_src0[k] > 0.0f) ? 1.0
f : value;
49 value = (data_src[k] > 0.0f && data_src1[k] < 0.0f) ? 1.0
f : value;
50 value = (data_src[k] < 0.0f && data_src1[k] > 0.0f) ? 1.0
f : value;
int y
Definition: filter.hpp:39
The FilterZeroCrossing class.
Definition: filter_zero_crossing.hpp:28
The Filter class.
Definition: filter.hpp:50
virtual Image * Process(ImageVec imgIn, Image *imgOut)
Process.
Definition: filter.hpp:390
Definition: filter.hpp:37
float * out
Definition: filter.hpp:40
static Image * execute(Image *imgIn, Image *imgOut)
execute
Definition: filter_zero_crossing.hpp:112
FilterZeroCrossing()
ProcessBBox.
Definition: filter_zero_crossing.hpp:98
int x
Definition: filter.hpp:39
The Image class stores an image as buffer of float.
Definition: image.hpp:60
ImageVec src
Definition: filter.hpp:43
PIC_INLINE ImageVec Single(Image *img)
Single creates an std::vector which contains img; this is for filters input.
Definition: image_vec.hpp:36
Definition: bilateral_separation.hpp:25
~FilterZeroCrossing()
Definition: filter_zero_crossing.hpp:102
void f(FilterFData *data)
f
Definition: filter_zero_crossing.hpp:36