#include #include namespace DRenhance { struct DREnhanceParam { int detailLevel; float contrast; float detail; float latitude; float noise; bool IsNorm = false; DREnhanceParam(int nDetailLevel, float fContrast, float fDetail, float fLatitude, float noisef) : detailLevel(nDetailLevel), contrast(fContrast), detail(fDetail), latitude(fLatitude), noise(noisef) { } }; void printEnhanceParams(const DREnhanceParam ¶m); int PyramidDecomposition(unsigned short *srcimg, int Width, int Height, std::vector &output, int &nEndlevel); DREnhanceParam autoEstimateParams(cv::Mat input, cv::Mat mask); int updateParams(DREnhanceParam &Param, float contrast, float detail, float latitude, float pnoise); int image_enhance(std::vector &ppDetailDataBuffer, DREnhanceParam Param, int nEndlevel, unsigned short *output, int Width, int Height, int flag); }