圖像空域增強:指數變換


  指數變換(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++;
}
}
}


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM