以前学习图像处理的时候,写的基础代码。大家看看吧。。
编程环境:windows下结合opencv编写的
//图像亮度变换函数
//函数将fLowSrc到fHighSrc之间的亮度根据fGamma的值映射到fLowDst到fHighDst亮度中
//fLowSrc,fHighSrc,fLowDst,fHighDst均在0-1之间,函数会根据源图像类型按比例映射
void ImageAdjust(IplImage* src, IplImage* dst,
float fLowSrc, float fHighSrc, float fLowDst, float fHighDst, float fGamma = 1);
//图像亮度变换
void ImageAdjust(IplImage* src, IplImage* dst,
float fLowSrc, float fHighSrc, float fLowDst, float fHighDst, float fGamma)
{
if (!src || !dst)
{
return;
}
if (src->nChannels == 3)
{
cvCvtColor(src, dst, CV_BGR2GRAY);
}
//参数范围判断
if ( !((fLowSrc >= 0 && fLowSrc <= 1)
&& (fHighSrc >= 0 && fHighSrc <= 1)
&& (fLowSrc < fHighSrc)
&& (fLowDst >= 0 && fLowDst <= 1)
&& (fHighDst >= 0 &&