指数变换(Power-Law )的公式:S=C*Rr

  指数变换S-R图
  

图像空域增强:指数变换

  指数变换的效果:当r<1,将狭窄的靠近黑色部分像素值映射到更宽的像素值范围,将较宽的白色部分像素值映射到更窄的像素值范围;对于r>1,变换效果相反。

  附指数变换源代码:

//指数变换
//param:
//srcImage: 要处理的源图像
//c: 指数变化系数
//r: 指数
void PowTransformImage(IplImage* srcImage, double c, double r)
{
for(int row = 0; row < srcImage->height; row++)
{
//取图像的每一行的首地址
unsigned char* ptr = (unsigned char*)(srcImage->imageData + srcImage->widthStep * row);
//处理当前行
for(int col = 0; col < srcImage->widthStep; col++)
{
//对当前像素进行指数变换
//*ptr/255: 归一化到0~1.0
//(c * pow((*ptr)/255.0, r)) * 255 + 0.5:归一化到0~255,+0.5:四舍五入
*ptr = (c * pow((*ptr)/255.0, r)) * 255 + 0.5;
ptr++;
}
}
}


 

相关文章:

  • 2021-08-18
  • 2022-12-23
  • 2021-12-21
  • 2021-07-21
  • 2021-06-16
  • 2022-12-23
  • 2021-10-31
  • 2021-06-18
猜你喜欢
  • 2021-06-30
  • 2021-07-05
  • 2021-11-26
  • 2021-04-12
  • 2021-04-09
  • 2021-04-01
  • 2021-05-31
相关资源
相似解决方案