class cv::TonemapDurand
Overview
This algorithm decomposes image into two layers: base layer and detail layer using bilateral filter and compresses contrast of the base layer thus preserving all the details. Moreā¦
#include <photo.hpp> class TonemapDurand: public cv::Tonemap { public: // methods virtual float getContrast() const = 0; virtual float getSaturation() const = 0; virtual float getSigmaColor() const = 0; virtual float getSigmaSpace() const = 0; virtual void setContrast(float contrast) = 0; virtual void setSaturation(float saturation) = 0; virtual void setSigmaColor(float sigma_color) = 0; virtual void setSigmaSpace(float sigma_space) = 0; };
Inherited Members
public: // methods virtual void clear(); virtual bool empty() const; virtual String getDefaultName() const; virtual void read(const FileNode& fn); virtual void save(const String& filename) const; virtual void write(FileStorage& fs) const; template <typename _Tp> static Ptr<_Tp> load( const String& filename, const String& objname = String() ); template <typename _Tp> static Ptr<_Tp> loadFromString( const String& strModel, const String& objname = String() ); template <typename _Tp> static Ptr<_Tp> read(const FileNode& fn); virtual float getGamma() const = 0; virtual void process( InputArray src, OutputArray dst ) = 0; virtual void setGamma(float gamma) = 0; protected: // methods void writeFormat(FileStorage& fs) const;
Detailed Documentation
This algorithm decomposes image into two layers: base layer and detail layer using bilateral filter and compresses contrast of the base layer thus preserving all the details.
This implementation uses regular bilateral filter from opencv.
Saturation enhancement is possible as in ocvTonemapDrago.
For more information see [20].