您的位置:首页 > 其它

直方图均衡化

2013-08-06 18:04 49 查看
一般情况下,如果图像的灰度分别集中在比较窄的区间,从而引起图像细节的模糊,为了使图像细节清晰,并使目标得到突出,达到图像增强的目的,可通过改善各部分亮度的比例关系,即通过直方图的方法来实现.直方图的方法是以概率论为基础的.常用的方法有直方图均衡化和直方图规定化.

直方图均衡化

直方图均衡化又称直方图平坦化,是将一已知灰度概率密度分布的图像经过某种变换,变成一幅具有均匀灰度概率密度分布的新图像.其结果是扩展了像元取值的动态范围,从而达到增强图像整体对比度的效果.

直方图均衡化实现函数

Histgram(imgData,hist,xsize,ysize);//统计灰度值

HistProbabilityCount(p,c,hist,xsize,ysize);//计算频度

StatImageRange(imgData,xsize,ysize,&fmax,&fmin);//图像数据最大最小值统计

ImageEQ(imgData,newImageData,c,fmax,fmin,xsize,ysize); //常用的图像均衡化方法 效果可以

/************************************************************************/

/*函数功能:求解图像均衡化

void ImageEQ(

LPBYTE image_in,

LPBYTE image_out,

double c[256],

int fmax,

int fmin,

int xsize,

int ysize

)

*/

/************************************************************************/

void ImageEQ(LPBYTE image_in,LPBYTE image_out,double c[256],int fmax,int fmin,int xsize,int ysize)

{

int i,j;

for (i=0;i<ysize;i++)

{

for (j=0;j<xsize;j++)

{

*(image_out+i*xsize+j)=(BYTE)(c[*(image_in+i*xsize+j)]*(fmax-fmin)+fmin); //均衡公式

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: