1 / 20
文档名称:

图像处理算法..docx

格式:docx   大小:36KB   页数:20页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

图像处理算法..docx

上传人:w447750 2018/7/15 文件大小:36 KB

下载得到文件列表

图像处理算法..docx

相关文档

文档介绍

文档介绍:直方图.
if(())
return;
int h=();
int w=();
int count[256];
OnGray();
memset(count,0,sizeof(int)*256);//数组初始化
for (int i=0;i<h;i++)//统计数据
{
for (int j=0;j<w;j++)
{
(count[[0][i][j]])++;
}
}
double p[256]={}; //统计概率
for (int i=0;i<256;i++)
{
p[i]=(double)count[i]/a; //*****很重要,先转换,后赋值。
}
/////////////上面为直方图,加上下面为均衡化///////////////////
double s[256]={}; //变换函数
for(int i=0;i<256;i++)
{
if (i==0)
s[i]=p[i];
else
{
s[i]=s[i-1]+p[i];
}
}
int b=0; //变换灰度等级
for (int i=0;i<h;i++)
{
for (int j=0;j<w;j++)
{
int c=[0][i][j];
b=256*s[c];
[0][i][j]=b;
[1][i][j]=b;
[2][i][j]=b;
}
}
Invalidate(1);
直方图规格化
int h=();
int w=();
size=w*h;
int count[256]={0};//统计灰度值
for (int i=0;i<h;i++)
{
for (int j=0;j<w;j++)
{
(count[[0][i][j]])++;
}
}
double p0[256]={};//统计每个灰度级概率
for (int i=0;i<256;i++)
{
p0[i]=(double)count[i]/(size);
}
double s0[256]={};//均衡概率和
for(int i=0;i<256;i++)
{
if (i==0)
{
s0[i]=p0[i];
}
else
{
s0[i]=s0[i-1]+p0[i];
}
}
double p1[256]={}; //规定灰度级概率
for(int i=0;i<256;i++)
{
p1[i]=(double)(i+128)/(256*256);
}
double s1[256]={};
for(int i=0;i<256;i++) //规定灰度级概率和
{
if (i==0)
{
s1[i]=p1[i];
}
else
{
s1[i]=s1[i-1]+p1[i];
}
}
double count0[256]={};
for (int i=0;i<256;i++)//找最小的规定灰度级与原灰度级对应
{
double min0=2,minj=0;
for (int j=0;j<256;j++)
{
if (abs(s0[i]-s1[j])<min0)
{
min0=abs(s0[i]-s1[j]);
minj=j;
}
}
count0[i]=minj;
}
for (int i=0;i<h;i++)
{
for (int j=0;j<w;j++)
{
[0][i][j]=count0[[0][i][j]];
[1][i][j]=count0[[0][i][j]];
[2][i][j]=count0[[0][i][j]];
}
Invalidate(1);
}
自适应均值滤波
int max_