
#ifndef __RV_ENHIMG_H_INCLUDED_
#define __RV_ENHIMG_H_INCLUDED_


 

#define ENHIMG_API  WINAPI

 
#include <rvb\rvtypes.h> 
 
//不同系数的取值范围:0-100,仅支持RGB.
extern "C" void ENHIMG_API rvAdjustBrightYIQ(RvImage image, int yLimit = 50,int iLimit = 55,int qLimit = 49);

//去雾处理,仅支持RGB.
extern "C" void ENHIMG_API rvDefog(RvImage image );


//高斯锐化
extern "C" void ENHIMG_API rvSharpenGs(RvImage image, int kernelSize );

//高斯模糊
extern "C" void ENHIMG_API rvBlurGs(RvImage image, int kernelSize );
 
//  将24 位图象的亮度作一定数量的调整，该数量由percentage参
//	数给定，其值为[-100..100]之间的一个数。0值意味着无变化，小于0使图象变深
//	而大于0使图象变浅。
extern "C" void ENHIMG_API rvAdjustBrightHSV(RvImage image, double percentage);
  
//调整24 位图象的色调, 该数量由percentage参
//	数给定，其值为[-100..100]之间的一个数。0值意味着无变化，小于0使图象变深
//	而大于0使图象变浅。
extern "C" void ENHIMG_API rvAdjustHue(RvImage image, double percentage);

//调整调整24 位图象的饱和度 该数量由percentage参
//	数给定，其值为[-100..100]之间的一个数。0值意味着无变化，小于0使图象变深
//	而大于0使图象变浅。
extern "C" void ENHIMG_API rvAdjustSaturation(RvImage image, double percentage); 


//将一幅8, 24,32位图象的对比度作一定数量的调整，该数量由percentage参
//数给定，其值为[-100..100]之间的一个数。0值意味着无变化，小于0使图象对比
//	度减小而大于0使图象对比度增加。
extern "C" void ENHIMG_API rvAdjustContrast(RvImage image, double percentage);
 
//将一幅8,24,32位图象的对比度作一定数量的调整，该数量由percentage参
//数给定，其值为[-100..100]之间的一个数。0值意味着无变化，小于0使图象对比
//	度减小而大于0使图象对比度增加。
extern "C" void ENHIMG_API rvAdjustBright(RvImage image, double percentage);

// 在一幅8位、24位或32位图象上执行gamma校正。gamma参数代表要使用
// 的gamma值(gamma >0)，1.0代表图象原样不变，小于1则图象变深，大于1则图
// 象变浅。
extern "C" void ENHIMG_API rvAdjustGamma(RvImage image, double percentage);

//在一个8位、24位或32位图象上根据一个查找表(Lookup table (LUT))中的
//值来执行直方图变换
//
extern "C" void ENHIMG_API rvAdjustCurve(RvImage image, RvByte* pLut, int channels = RV_CHANNEL_RED | RV_CHANNEL_GREEN | RV_CHANNEL_BLUE);



#endif //end of __RV_ENHIMG_H_INCLUDED_