18 #ifndef PIC_GL_TONE_MAPPING_REINHARD_TMO_HPP 19 #define PIC_GL_TONE_MAPPING_REINHARD_TMO_HPP 21 #include "../../util/math.hpp" 23 #include "../../gl/filtering/filter_luminance.hpp" 24 #include "../../gl/filtering/filter_sigmoid_tmo.hpp" 25 #include "../../gl/filtering/filter_bilateral_2ds.hpp" 26 #include "../../gl/filtering/filter_op.hpp" 28 #include "../../gl/filtering/filter_reinhard_single_pass.hpp" 138 stdVectorClear<FilterGL>(
filters);
151 this->phi =
phi > 0.0f ?
phi : this->
phi;
float phi
Definition: reinhard_tmo.hpp:44
bool bAllocate
Definition: reinhard_tmo.hpp:45
bool bStatisticsRecompute
Definition: reinhard_tmo.hpp:45
ImageGL * execute(ImageGL *imgIn, ImageGL *imgOut=NULL)
execute
Definition: reinhard_tmo.hpp:161
FilterGLLuminance * flt_lum
Definition: reinhard_tmo.hpp:38
void setNULL()
setNULL
Definition: reinhard_tmo.hpp:109
bool isValid()
isValid checks if the current image is valid, which means if they have an allocated buffer or not...
Definition: filter_radial_basis_function.hpp:1148
PIC_INLINE ImageGLVec SingleGL(ImageGL *img)
SingleGL creates a single for filters input.
Definition: image_vec.hpp:39
ReinhardTMOGL(float alpha=0.15f, float phi=8.0f, bool bStatisticsRecompute=true, bool bGlobal=false)
ReinhardTMOGL.
Definition: reinhard_tmo.hpp:122
The ImageGL class.
Definition: image.hpp:42
FilterGLSigmoidTMO * flt_tmo_global
Definition: reinhard_tmo.hpp:39
FilterGLReinhardSinglePass * fTMO
Definition: reinhard_tmo.hpp:47
float alpha
Definition: reinhard_tmo.hpp:44
void update(float sigma_s, float sigma_r, float Lwa)
update
virtual ImageGL * Process(ImageGLVec imgIn, ImageGL *imgOut)
Process.
Definition: display.hpp:258
The ReinhardTMOGL class.
Definition: reinhard_tmo.hpp:35
void update(float alpha)
update
~ReinhardTMOGL()
Definition: reinhard_tmo.hpp:136
ImageGL * img_lum_adapt
Definition: reinhard_tmo.hpp:42
void update(float alpha, float phi, bool bGlobal=true)
update
Definition: reinhard_tmo.hpp:147
The FilterGLSigmoidTMO class.
Definition: filter_sigmoid_tmo.hpp:31
std::vector< FilterGL * > filters
Definition: reinhard_tmo.hpp:40
void allocateFilters()
allocateFilters
Definition: reinhard_tmo.hpp:52
PIC_INLINE ImageGLVec DoubleGL(ImageGL *img1, ImageGL *img2)
DoubleGL creates a couple for filters input.
Definition: image_vec.hpp:52
Definition: bilateral_separation.hpp:25
float Lwa
Definition: reinhard_tmo.hpp:44
The FilterGLReinhardSinglePass class.
Definition: filter_reinhard_single_pass.hpp:35
bool bGlobal
Definition: reinhard_tmo.hpp:45
ImageGL * img_lum
Definition: reinhard_tmo.hpp:42
ImageGL * executeLocal(ImageGL *imgIn, ImageGL *imgOut=NULL)
executeLocal
Definition: reinhard_tmo.hpp:88
The FilterGLLuminance class.
Definition: filter_luminance.hpp:30
ImageGL * executeGlobal(ImageGL *imgIn, ImageGL *imgOut=NULL)
executeGlobal
Definition: reinhard_tmo.hpp:65
float * getLogMeanVal(float *ret=NULL)
getLogMeanVal
Definition: image.hpp:477