搜档网
当前位置:搜档网 › 直方图均衡化与规定化

直方图均衡化与规定化

直方图均衡化与规定化
直方图均衡化与规定化

课程名称___图像处理与分析

题目名称_直方图均衡化与规定化

学院信息工程

专业电子信息工程

年级班别 0503 学号 3105003438 学生姓名姚艺锋

指导老师曹江中

2008年6月16日

《图像处理与分析》课程设计报告

直方图均衡化与规定化

1、设计方案(原理)

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

(1) 直方图均衡化

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

直方图均衡化的具体实现步骤如下:

1).列出原始图像的灰度级

1

,,1,0,-=L j f

j

2).统计各灰度级的像素数目

1

,,1,0,-=L j n j

3).计算原始图像直方图各灰度级的频数

1

,,1,0,/)(-==L j n n

f

P j

j

f

4).计算累积分布函数

1

,,,1,0,)()(0

-==

=L k j f P f C k j j f

5).应用以下公式计算映射后的输出图像的灰度级,P 为输出图像灰度级的个

数,其中INT 为取整符号

1

,,1]

5.0)()[(min min max -=++-=P i g f C g g INT g i

6).统计映射后各灰度级的像素数目 ni, i=0,1,…,k,…P-1.

7). 计算输出直方图Pg(gi)=ni/n, i=0,1,…,P-1.

8). 用fj 和gi 的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀

分布的输出图像

(2) 直方图规定化

直方图均衡化的优点是能自动增强整个图像的对比度,但它的具体增强效果不易控制,处理的结果总是得到全局的均衡化的直方图.实际工作中,有时需要变换直方图使之成为某个特定的形状,从而有选择地增强某个灰度值范围内的对比度,这时可采用比较灵活的直方图规定化方法.直方图规定化增强处理的步骤如下:

令P r (r )和P z (z )分别为原始图像和期望图像的灰度概率密度函数。如果对原始图像和期望图像均作直方图均衡化处理,应有

?==x

r dr

r P r T S 0

)()( (1) ?==x

z dz

z p Z G V 0

)()( (2)

)(1V G Z -= (3)

由于都是进行均衡化处理,处理后的原图像概率密度函数Ps (S )及理想图像概率密度函数PV (V )是相等的。于是,我们可以用变换后的原始图像灰度级S 代替(2)式中的V 。即

Z = G - 1(S ) (4) 这时的灰度级Z 便是所希望的图像的灰度级。 此外,利用(1)与(3)式还可得到组合变换函数 Z = G - 1[T (r )] (5) 对连续图像,重要的是给出逆变换解析式。对离散图像而言,有

n n Z P i

i Z =

)( (6)

∑-===1

)

()(l i i z i i Z P Z G V (7)

)]([)(11i i i r T G S G Z --== (8)

2、设计内容(主要代码)

%----------------------------选择图片路径及显示---------------------------% global f

%选择图片路径

[filename,pathname]= ... %...表示与下行连接

uigetfile({'*.bmp';'*.jpg';'*gif';'*tif'},'选择图片'); %打开文件类型,对话框名称 f=imread([pathname filename]);

axes(handles.axes1); %在axes1显示原图像imshow(f) ;

title('原始图像');

%------------------设置下拉菜单分别选择显示图像------------% global f

va=get(handles.popupmenu1,'Value');

val=get(hObject,'Value');

switch val %用switch语句设置选项case 1 %原图像直方图

I=double(f);[m,n]=size(I);

H=zeros(1,256);

for i=1:m

for j=1:n

H(I(i,j)+1)=H(I(i,j)+1)+1;

end

end

s=zeros(1,256);t=zeros(1,256);

for i=1:256 s(i)=H(i)/(m*n);

for j=1:i

t(i)=t(i)+s(j);

end

end

axes(handles.axes2);

plot(s);title('原图像直方图');

case 2 %均衡化后图像及直方图I=double(f);[m,n]=size(I);

H=zeros(1,256);

for i=1:m

for j=1:n

H(I(i,j)+1)=H(I(i,j)+1)+1;

end

end

s=zeros(1,256);t=zeros(1,256);

for i=1:256 s(i)=H(i)/(m*n);

for j=1:i

t(i)=t(i)+s(j);

end

end

t1=round(t*(256-1)+0.5);

H1=zeros(1,256);

for i=1:256

H1(t1(i))=H1(t1(i))+s(i);

end

axes(handles.axes4);

bar(H1);title('均衡化后直方图');

I2=t1(I+1)-1;

axes(handles.axes3);

imshow(uint8(I2));title('均衡化后图像');

case 3 %规定化后图像及直方图

I=f;

J=I;

New=I;

L=256; %灰度级

Ps=zeros(L,1); % 存储原图像直方图概率数据

nk=zeros(L,1); % 存储原图像直方图数据

nk2=zeros(L,1); % 存储直方图规定化后的图像的直方图

Rk=zeros(L,1); % 存储原图像累积直方图数据

Ps2=zeros(L,1);

Rk2=zeros(L,1);

[row,col]=size(I); % 计算图像数据矩阵的行列数

n=row*col; %总像素个数

for i = 1:row

for j = 1:col

num = double( I(i,j))+1; %获取像素灰度级

nk(num) = nk(num)+1; %统计nk

end

end

%计算直方图概率估计

for i=1:L

Ps(i)=nk(i)/n;

%计算累积直方图

if i==1

Rk(i)=Ps(i);

else 1<=256

Rk(i)=Rk(i-1)+Ps(i);

end

%规定化直方图

Ps2Temp=[0.05,zeros(1,9),0.05,zeros(1,9),0.05,zeros(1,9),0.05,zeros(1,

9),0.05,zeros(1,9),0.05,zeros(1,9),0.05,zeros(1,39),0.05,zeros(1,19),0.05,

zeros(1,19),0.05,zeros(1,19),ones(1,80).*0.0045,ones(1,16).*0.0088];

Ps2=Ps2Temp';

%计算规定化累积直方图

for c=1:L

if c==1

Rk2(c)=Ps2(c);

else

Rk2(c)=Rk2(c-1)+Ps2(c);

end

end

%计算原图像与目标图像累计直方图数值的差的绝对值double ScMin=zeros(256,256);

for Y=1:L

for X=1:L

ScMin(X,Y)=abs(Rk(Y)'-Rk2(X)');

end

end

%建立映射

HisM=zeros(L:1);

for P=1:L

min = 0;

minV=ScMin(1,P);

for Q=1:L

if(minV>ScMin(Q,P))

minV=ScMin(Q,P);

min = Q;

end

end

HisM(P)= min;

end

%将原图像的每个像素灰度转换为直方图均衡化后的灰度for x = 1:row

for y = 1:col

Num = double( I(x,y))+1;

if Num==i

New(x,y)=HisM(i);

end

end

end

end

%计算直方图规定化后的直方图

for p = 1:row

for q = 1:col

NN = double( New(p,q))+1;

nk2(NN) = nk2(NN)+1;

end

end

axes(handles.axes5);

imshow(New),title('规定化后图像');

axes(handles.axes6);

plot(Ps2),title('规定化后直方图');

end;

%--------------------直接调用函数-----------------------------------------%

global f

va=get(handles.popupmenu2,'Value');

val=get(hObject,'Value');

switch val

case 1

axes(handles.axes1); %在axes1显示图像

imshow(f);

title('原图像');

axes(handles.axes2);

h=imhist(f,256);

plot(h)

ylim('auto'); %自动设定Y轴坐标范围和刻度

title('原始直方图')

case 2

j=histeq(f);

axes(handles.axes3);

imshow(j) ;

title('均衡化图像');

axes(handles.axes4);

h=imhist(j,256);

plot(h)

ylim('auto');

title('均衡化图像直方图')

case 3

hgram=50:2:250

k=histeq(f,hgram);

axes(handles.axes5);

imshow(k) ;

title('规定化图像');

axes(handles.axes6);

h=imhist(k,256);

plot(h)

ylim('auto');

title('规定化图像直方图')

end;

3、实验结果

GUI界面设计:

选择图片路径:

直接调用函数均衡化和规定化:

原图像与均衡化和规定化后对比:

结果分析:

通过直接调用函数和编程对图像进行处理的结果对比,可以看出实验结果和理论结果基本一致;在编程处理中,可以自定义对规定化中的直方图(Ps2Temp)进行修改,从而得到所希望的图像增强效果.

4、心得体会

通过这次课程设计,我学会如何利用MATLAB制作视图界面(GUI),并通过视图界面对数字图像进行处理,方便快捷,而且美观.在做设计的过程中,虽然遇到了不少问题,例如:程序结果如何通过GUI界面显示,程序的调试出错等,但是经过查资料并进行修改,及同学们的提点下,所有问题都一一得到解决;通过这次课程设计,揭开了数字图像的神秘面纱.

5、参考文献

(1). R.C Gonzalez,R.E.Woods.<<数字图像处理>>(第二版).北京:电子工业出版社,2007

(2). 贺兴华. <> 人民邮电出版社,2006

(3). 徐飞,施晓红. <>.西安:西安电子科技大学出版社,2002

直方图均衡化及直方图规定化

《数字图像处理》实验 报告(二) 学号:____________ 姓名:__________ 专业:____ 课序号:__________ 计算机科学与技术学院

实验2直方图均衡化 一、实验学时:4学时(本部分占实验成绩的40%) 二、实验目的: 1、理解直方图均衡化的原理及步骤; 2、编程实现图像(灰度或彩色)的直方图均衡化。 三、必须学习和掌握的知识点: 直方图均衡化是一种快速有效且简便的图像空域增强方法,在图像处理中有着非常重要的意义,因此要求掌握。 四、实验题目: 编程实现灰度图像的直方图均衡化处理。要求给出原始图像的直方图、均衡化图像及其直方图和直方图均衡化时所用的灰度级变换曲线图。 五、思考题:(选做,有加分) 实现对灰度图像的直方图规定化处理。 六、实验报告: 请按照要求完成下面报告内容并提交源程序、可执行程序文件和实验结果图像。

1、请详细描述本实验的原理: 1.直方图均衡化概述 图像对比度增强的方法可以分成两类:一类是直接对比度增强方法;另一类是间接对比度增强方法。直方图拉伸和直方图均衡化是两种最常见的间接对比度增强方法。直方图拉伸是通过对比度拉伸对直方图进行调整,从而“扩大”前景和背景灰度的差别,以达到增强对比度的目的,这种方法可以利用线性或非线性的方法来实现;直方图均衡化则通过使用累积函数对灰度值进行“调整”以实现对比度的增强。 直方图均衡化的英文名称是Histogram Equalization. 直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。 2基本思想 直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。 直方图均衡化的基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。设原始图像在(x,y)处的灰度为f,而改变后的图像为g,则对图像增强的方法可表述为将在(x,y)处的灰度f映射为g。在灰度直方图均衡化处理中对图像的映射函数可定义为:g = EQ (f),这个映射函数EQ(f)必须满足两个条件(其中L为图像的灰度级数): (1)EQ(f)在0≤f≤L-1范围内是一个单值单增函数。这是为了保证增强处理没有打乱原始图像的灰度排列次序,原图各灰度级在变换后仍保持从黑到白(或从白到黑)的排列。 (2)对于0≤f≤L-1有0≤g≤L-1,这个条件保证了变换前后灰度值动态范围的一致性。 累积分布函数(cumulative distribution function,CDF)即可以满足上述两个条件,并且通过该函数可以完成将原图像f的分布转换成g的均匀分布。此时的直方图均衡化映射函数为: gk = EQ(fk) = (ni/n) = pf(fi) , (k=0,1,2,……,L-1)

数字图像处理实验报告--直方图均衡化

数字图像处理实验报告 实验名称:直方图均衡化 : 班级: 学号: 专业:电子信息工程(2+2) 指导教师:华华 实验日期:2012年5月24日

直方图均衡化 图像对比度增强的方法可以分成两类:一类是直接对比度增强方法;另一类是间接对比度增强方法。直方图均衡化是最常见的间接对比度增强方法。直方图均衡化则通过使用累积函数对灰度值进行“调整”以实现对比度的增强。 直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度围的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度围的像素数量大致相同。直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。 缺点: 1)变换后图像的灰度级减少,某些细节消失; 2)某些图像,如直方图有高峰,经处理后对比度不自然的过分增强。 直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。 这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。 直方图均衡化的基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态围从而可达到增强图像整体对比度的效果。设原始图像在(x,y)处的灰度为f,而改变后的图像为g,则对图像增强的方法可表述为将在(x,y)处的灰度f映射为g。在灰度直方图均衡化处理中对图像的映射函数可定义为:g = EQ (f),这个映射函数EQ(f)必须满足两个条件(其中L为图像的灰度级数): (1)EQ(f)在0≤f≤L-1围是一个单值单增函数。这是为了保证增强处理没有打乱原始图像的灰度排列次序,原图各灰度级在变换后仍保持从黑到白(或从白到黑)的排列。 (2)对于0≤f≤L-1有0≤g≤L-1,这个条件保证了变换前后灰度值动态围的一致性。 累积分布函数即可以满足上述两个条件,并且通过该函数可以完成将原图像f的分布转换成g的均匀分布。此时的直方图均衡化映射函数为: gk = EQ(fk) = (ni/n) = pf(fi) , (k=0,1,2,……,L-1) 上述求和区间为0到k,根据该方程可以由源图像的各像素灰度值直接得到直方图均衡化后各像素的灰度值。在实际处理变换时,一般先对原始图像的灰度情况进行统计分析,并计算出原始直方图分布,然后根据计算出的累计直方图分布求出fk到gk的灰度映射关系。在重复上述步骤得到源图像所有灰度级到目标图像灰度级的映射关系后,按照这个映射关系对

直方图均衡化处理教学内容

实验 1.直方图均衡化程序的原理及步骤 直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某灰度区间变成在全部灰度范围内的均匀分布。 直方图均衡化的原理: 直方图均衡化是把原图像的直方图通过灰度变换函数修正为灰度均匀分布的直方图,然后按均衡直方图修正原图像,其变换函数取决于图像灰度直方图的累积分布函数。概括地说,就是把一已知灰度概率分布的图像,经过一种变换,使之演变成一幅具有均匀概率分布的新图像。当图像的直方图为一均匀分布时,图像的信息熵最大,此时图像包含的信息量最大,图像看起来更清晰。灰度直方图用各灰度值出现的相对频数(该灰度级的像素数与图像总像素数之比)表示。 直方图表示数字图像中每一灰度级与其出现频数的的统计关系,用横坐标表示灰度级,纵坐标表示频数。直方图就能给出该图像的概貌性描述,例如图像的灰度范围、每个灰度级的频数和灰度的分布、整幅图像的亮度和平均明暗对比度等,由此可得出进一步处理的重要依据。计算每个灰度级出现的概率为: P r (r k )=N k /N k=0,1,2,…,L-1 上式中, P r (r k )表示第k 个灰度级出现的概率,N k 为第 k 个灰度级出现的频数,N 为图像像素总数,L 为图像中可能的灰度级总数。由此可得直方图均衡化变换函数,即图像的灰度累积分布函数Sk 为: 1,...,2,1,0)()(00-====∑∑==L k r P r T s k j N N k j j r k k j 上式中, S k 为归一化灰度级。 这个变换映射称做直方图均衡化或直方图线性化。 直方图均衡化过程如下: (1) 输出原图像; (2) 根据公式P r (r k )=n k /m*n ( k=0,1,2,…,L-1)计算对应灰度级出现的概率, 绘制原图像的直方图。 (3) 计算原图象的灰度级累积分布函数:sk=Σp r (r k ); (4) 取整Sk=round((S1*256)+0.5);将Sk 归一到相近的灰度级,绘制均衡化后的 直方图。 (5) 将每个像素归一化后的灰度值赋给这个像素,画出均衡化后的图像。 2.根据直方图均衡化步骤对输入的原图象进行处理,输出的图像如下图所示。

直方图均衡化处理

实验1.直方图均衡化程序的原理及步骤 直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某灰度区间变成在全部灰度范围内的均匀分布。 直方图均衡化的原理: 直方图均衡化是把原图像的直方图通过灰度变换函数修正为灰度均匀分布的直方图,然后按均衡直方图修正原图像,其变换函数取决于图像灰度直方图的累积分布函数。概括地说,就是把一已知灰度概率分布的图像,经过一种变换,使之演变成一幅具有均匀概率分布的新图像。当图像的直方图为一均匀分布时,图像的信息熵最大,此时图像包含的信息量最大,图像看起来更清晰。灰度直方图用各灰度值出现的相对频数(该灰度级的像素数与图像总像素数之比)表示。 直方图表示数字图像中每一灰度级与其出现频数的的统计关系,用横坐标表示灰度级,纵坐标表示频数。直方图就能给出该图像的概貌性描述,例如图像的灰度范围、每个灰度级的频数和灰度的分布、整幅图像的亮度和平均明暗对比度等,由此可得出进一步处理的重要依据。计算每个灰度级出现的概率为: P r(r k)=N k/N k=0,1,2,…,L-1 上式中,P r(r k)表示第k个灰度级出现的概率,N k为第k个灰度级出现的频数,N为图像像素总数,L 为图像中可能的灰度级总数。由此可得直方图均衡化变换函数,即图像的灰度累积分布函数Sk 为:上式中, S k 为归一化灰度级。这个变换映射称做直方图均衡化或直方图线性化。 直方图均衡化过程如下: (1)输出原图像; (2)根据公式P r(r k)=n k/m*n(k=0,1,2,…,L-1)计算对应灰度级出现的概率,绘制原图像的直方图。(3)计算原图象的灰度级累积分布函数:sk=Σp r(r k); (4)取整Sk=round((S1*256)+0.5);将Sk归一到相近的灰度级,绘制均衡化后的直方图。 (5)将每个像素归一化后的灰度值赋给这个像素,画出均衡化后的图像。 2.根据直方图均衡化步骤对输入的原图象进行处理,输出的图像如下图所示。 由上图可以看出,采用直方图均衡化后,可使图像的灰度间距拉开或使灰度均匀分布,从而增大反差,使图像更加清晰,达到增强的目的。但直方图均衡在对灰度呈现两端分布,同时在图像的低灰度区域有较多像素点的图像进行处理后, 得不到满意的效果,达不到突出图像细节的目的。针对上述直方图均衡化的弊端,可以先计算出图像的灰度直方图,然后将其灰度进行拉伸,以便改善图像增强效果。

基于matlab的直方图均衡化

目录 1、引言 (2) 2、直方图基础 (3) 3、直方图均衡化 (3) 3.1 直方图均衡化的概念 (3) 3.2 直方图均衡化理论 (4) 3.3 Matlab 实现 (4) 4、结论 (7) 致谢 (7) 参考文献 (7)

图像增强处理 —直方图均衡化的Matlab 实现摘要:为了使图像的灰度范围拉开或使灰度均匀分布,从而增大反差,使图像细节清晰,以达到增强的目的,通常采用直方图均衡化及直方图规定化两种变换,此文中探讨了直方图的理论基础,直方图均衡化的概念及理论,以Matlab为平台,对某地区遥感TM单波段遥感影像进行直方图均衡化,并给出了具体程序、仿真结果图像、直方图及变换函数。实验结果表明,原来偏暗的且对比度较低的图像经过直方图均衡化后图像的对比度及平均亮度明显提高,直方图均衡化处理能有效改善灰度图像的对比度差和灰度动态范围。 关键词:图像增强直方图均衡化 Matlab 1、引言 图像增强是指对图像的某些特征,如边缘、轮廓或对比度等进行强调或尖锐化。当一幅图像曝光不足或过度,造成对比度过小或过大而不能显示具体细节,通过增加这些细节的动态范围改善图像的视觉效果。图像增强可以突出图像中所感兴趣的特征信息,改善图像的主观视觉质量,提高图像的可懂度。 增强的首要目标是处理图像,使其比原始图像更适合于特定应用。图像增强的方法分为两大类:空间域方法和频域方法。“空间域”一词是指图像平面本身,这类方法是以对图像的像素直接处理为基础的。“频域”处理技术是以修改图像的傅氏变换为基础的。 一般说来,原始遥感数据的灰度值范围都比较窄,这个范围通常比显示器的显示范围小的多。增强处理可将其灰度范围拉伸到0-255 的灰度级之间来显示,从而使图像对比度提高,质量改善。增强主要以图像的灰度直方图最为分析处理的基础。直方图均衡化能够增强整个图像的对比度,提高图像的辨析程度,算法简单,增强效果好。本文主要讨论了空间域的直方图均衡化增强,并用Matlab 进行实验验证。 2、直方图基础 1、灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像元的个数。确定图像像

图像直方图的均衡化处理图的均衡化

图像直方图的均衡化处理 一,技术要求 1.1,利用matlab提供的函数处理 (2) 1.2,利用matlab自行编辑代码处理 (3) 二,基本原理 (3) 2.1,直方图的均衡化 (3) 2.2,直方图的标准化 (3) 三,建立模型描述 ......................................................................... 3~4 3.1,利用matlab提供的函数处理 (4) 3.2,利用matlab自行编辑代码 (4) 四,源程序代码 ............................................................................. 5~6 4.1,绘制图像直方图的代码 (5) 4.2,绘制图像均衡化后直方图的代码 (5) 4.3,显示均衡化后图像的代码 (6) 五,调试过程及结论 ..................................................................... 6~8 5.1,在编辑窗口键入绘制直方图的源代码得到的输出结果为图2 (6) 5.2,利用matlab函数绘制的图像直方图标准化的输出结果如图3..7 5.3,直方图均衡化输出结果如图4所示。 (8) 六,心得体会 (9) 七,参考文献 (9)

图像直方图的均衡化处理 一,技术要求 1.1,利用matlab提供的函数处理 利用matlab提供的函数画出一幅图像的直方图,对其进行均衡化和标准化处理,并比较均衡化(标准化)后图像和原图像的区别。 1.2,利用matlab自行编辑代码处理 利用matlab自行编辑代码,实现一幅图像的直方图显示和均衡化的处理,同样比较处理前后两幅图像的区别,了解图像均衡化的效果和实际运用。 二,基本原理 直方图是多种空域处理技术的基础。它能有效的用于图像增强。 2.1,直方图的均衡化 直方图的均衡化是把原始图像的灰度直方图从比较集中的某个区域变成全部灰度范围内的均匀分布,实际上是对图像进行非线性拉伸。使一定灰度范围内的像素个数大致相同。这样就能增强图像的局部对比度,亮度可以更好的在直方图上分布。 2.2,直方图的标准化 直方图的标准化实际上原理和直方图的均衡化原理大致相同,也是将原始图像的灰度值从比较集中地部分扩展到较大范围内的均匀分布,但是它和均衡化的不同在于均衡化是将灰度值范围变成全部灰度范围的均匀分布,而标准化是将灰度值范围扩展到一个相对以前要大一些的范围内,并不要求要变成全部灰度范围内的均匀分布。 三,建立模型描述 3.1,利用matlab提供的函数处理

四、灰度直方图是数字图像处理的重要工作。请简述灰度直方图规定化

四、灰度直方图是数字图像处理的重要工作。请简述灰度直方图规定化、均衡化的基本原理。并以分辨率为5*4,图像的深度6bit 的图像为例,自举例说明直方图均衡化的计算过程。 解答: 数字图像的直方图是作为图像每一个灰度级的统计概率分布"它提供了图像灰度分布的概貌,直方图增强技术正是利用修改给定图像直方图的方法来增强图像的,最后得到的图像增强程度取决于我们所采用的直方图。令变量r 和s 分别代表图像增强前后的像素灰度级,相应灰度级分布的概率密度分别为()r P r 和()s P s 。 为讨论方便,假设像素灰度值已经归一化在区间[0,1],在灰度级坐标中r=0表示黑,r=1表示白。对区间[0,1]内任一个r 值按变换函数: s = T(r) (1) 进行变换,T (r )满足两个条件:(1)单值单调递增函数;(2) 0≤T (r )≤1。 条件(1)使灰度级保持从黑到白的次序,条件(2)保证映射变换后像素灰度值在允许的范围内。从s 到r 的反变换为:1()r T s -=,0≤s ≤1。 (2) 同样,规定变量s 也满足条件(1)和(2)。由概率理论知,若()r P r 和变换函数s = T(r) 已知,1()r T s -=是单值单调增加函数,则有: 1() ()[P () ]s r r T s dr P s r ds -== (3) 直方图增强技术就是通过变换函数T (r )控制图像灰度级的概率密度函数而改变图像的外貌。 对于连续图像,变换函数为: ()(),01r r s T r P r dr r ==≤≤? (4) 此式右边为累积分布函数(CDF ),由该式对r 求导有: ()r ds P r dr = (5) 代入(3)得到: 1()1 ()[() ]1,01() r r T s r P s P r s P r -===≤≤ (6) 这说明,在变换后变量s 在定义域内, ()s P s 是均匀概率密度。在图像增强意义上,这 相当于像素的动态范围增加。 对于离散图像,灰度级k r 的概率值为: (),01,0,1,2, (1) r k k n P r r k L n = ≤≤=- (7) 其中,n 表示图像中像素的总数,k n 是在图像中出现这种灰度级的次数,L 表示灰度级

直方图均衡化

图像增强是数字图像处理的基本内容。遥感图像增强是为特定目的,突出遥感图像中的某些信息,削弱或除去某些不需要的信息,使图像更易判读。图像增强的实质是增强感兴趣目标和周围背景图像间的反差。它不能增加原始图像的信息,有时反而会损失一些信息。它也是计算机自动分类一种预处理方法。 目前常用的图像增强处理技术可以分为两 大类:空间域和频率域的处理。主要内容包括基于直方图的处理、图像平滑以及图像锐化等。空间域处理是指直接对图像进行各种运算以得到需要的增强结果。频率域处理是指先将空间域图像变换成频率域图像,然后在频率域中对图像的频谱进行处理,以达到增强图像的目的。 6.2.1 图像灰度的直方图 图像灰度直方图反映了一幅图像中灰度级 与其出现概率之间的关系。对于数字图像,由于图像空间坐标和灰度值都已离散化,可以统计出灰度等级的分布状况。数字图像的

灰度编码从0,1,2,…,2n-1(n为图像量化时的比特数),每一个灰度级的像元个数mi可以从图像中统计出来,整幅图像的像元数为M,则任意灰度级出现的频率为: (6-20) (6-21) 由2n个P值即可绘制出数字图像的灰度直方图,如图6-5。图像直方图随图像不同而不同,不同图像有不同的直方图。 图6-5数字图像直方图 灰度直方图可以看成是一个随机分布密度函数,其分布状态用灰度均值和标准差两个参数来衡量。灰度均值为: (6-22)

式中:为整幅图像灰度平均值; X ij为(i,j)处像元的灰度值; R为图像行数; L为图像列数; M=R*L为图像像元总数; 标准差: Xi:i处像元的灰度值 直方图分布状态不同,图像特征不同,如图6-6所示。

数字图像处理实验报告--直方图规定化 0528

数字图像处理实验报告--直方图规定化

数字图像处理实验报告 实验名称:直方图规定化 姓名: 班级: 学号: 专业:电子信息工程(2+2) 指导教师:陈华华 实验日期:2012年5月24日

直方图匹配(规定化) 直方图均衡化能够自动增强整个图像的对比度,但它的具体增强效果不容易控制,处理的结果总是得到全局均匀化的直方图。实际上有时需要变换直方图,使之成为某个特定的形状,从而有选择地增强某个灰度值范围内的对比度。这时可以采用比较灵活的直方图规定化。一般来说正确地选择规定化的函数可以获得比直方图均衡化更好的效果。 所谓直方图规定化,就是通过一个灰度映像函数,将原灰度直方图改造成所希望的直方图。所以,直方图修正的关键就是灰度映像函数。 直方图匹配方法主要有3个步骤(这里设M和N分别为原始图和规定图中的灰度级数,且只考虑N≤M的情况): (1) 如同均衡化方法中,对原始图的直方图进行灰度均衡化: (2) 规定需要的直方图,并计算能使规定的直方图均衡化的变换: (3) 将第1个步骤得到的变换反转过来,即将原始直方图对应映射到规定的直方图,也就是将所有pf(fi)对应到pu(uj)去。 一、A图直方图规定B图

Matlab程序: %直方图规定化 clear all A=imread('C:\Users\hp\Desktop\A.tif'); %读入A图像 imshow(A) %显示出来 title('输入的A图像') %绘制直方图 [m,n]=size(A); %测量图像尺寸 B=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255

直方图均衡化实验报告

医学图像处理实验报告 实验名称:直方图均衡化实验 姓名:gao jun qiang 学号:20105405 班级:生医1001 指导教师:……

2013年6月5日 一、 实验目的 1、编程实现下列功能:读出存储的黑白灰度图象并显示,显示灰度直方图,对 图象进行直方图均衡化处理,显示处理后图象及直方图,画出灰度变换曲线,并存储处理后图象。 二、 实验原理 直方图均衡化处理的中心思想是把原始图像的灰度直方图从比较集中 的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。直方图均衡化是一种自动调节图象对比度质量的算法,使用的方法是灰度级变换:s = T(r) 。它的基本思想是通过灰度级r 的概率密度函数p(rk ),求出灰度级变换T(r). 灰度直方图的计算十分简单,依据定义在离散形式下有下面的公式成 立: ()1,1,0,-==L k n n k p k Λ (1) 公式中:k n 为图像中出现k s 级灰度的像素数,n 是图像像素总数,而n n k 即为频数。 计算累积直方图各项: ()1 ,1,0,00-===∑∑==L k i p n n t k i k i i k Λ (2) 取整扩展: ]5.0)1int[(+-=k k t L t (3) 映射对应关系 :k t k ?

三、实验代码及结果 直方图均衡化实验代码: clc; close all; clear all; Imag = imread('lena.tiff'); figure() imshow(Imag),title('原图像'); ImagGray = rgb2gray(Imag); figure() imshow(ImagGray),title('灰度图像'); [r,c] = size(ImagGray); %统计灰度直方图 GrayPixNum = zeros(1,255); for i = 1:r for j = 1:c GrayPixNum(1,ImagGray(i,j)) = GrayPixNum(1,ImagGray(i,j))+1; end end %对灰度直方图进行归一化 GrayPixPro = GrayPixNum./(r*c); figure() plot(GrayPixPro),title('图像直方图'); %----------------------------------------------------------- % -----------------------直方图均衡化------------------------ %----------------------------------------------------------- %直方图累加 GrayAdd = zeros(1,255); GrayAdd(1,1) = GrayPixPro(1,1); for i = 2:255 GrayAdd(1,i) = GrayAdd(1,i-1)+GrayPixPro(1,i); end NewGray = round(GrayAdd.*254.+0.5); NewGrayPro = zeros(1,255); for i = 1:255 GrayTemp = NewGray(1,i); NewGrayPro(1,GrayTemp) = NewGrayPro(1,GrayTemp)+GrayPixPro(1,i); end figure()

直方图均衡化处理

数字图像处理实验报告 姓名: 王程学号: 2012021199037 日期:2013.3.30 一、实验要求 (1)对一幅的对比度灰度图像进行直方图均衡化处理,画出处理前后的图像及直方图(2)用matlab读取和显示 二、实验代码 clc; clear; I=imread('E:\数字图像处理\exp2\伊伽贝拉.jpg'); %读入图像文件 if isrgb(I) I=rgb2gray(I); end subplot(221),imshow(I); title('原图像伊伽贝拉') [m,n]=size(I); %测量图像尺寸参数 B=zeros(1,256); %预创建存放灰度出现概率的向量for i=1:m for j=1:n %k=I(i,j); %k=k+1; %B(k)=B(k)+1; B(I(i,j)+1)=B(I(i,j)+1)+1; %计算每级灰度出现的概率end end subplot(222), stem(0:255,B,'Marker','none'); %绘制直方图 title('未均衡化的直方图'); S=I; [m,n]=size(S); %读出图像的大小 BP=zeros(1,256); %预创建存放灰度出现概率的向量for k=0:255 BP(k+1)=length(find(S==k))/(m*n); %计算每级灰度出现的概率 end B1=zeros(1,256) for i=1:256 for j=1:i B1(i)=BP(j)+B1(i); end

end B2=round((B1*256)+0.5); for i=1:256 BPeq(i)=sum(BP(find(B2==i))); end I=S; for i=0:255; I(find(S==i))=B2(i+1); %将各个像素归一化后的灰度值赋 给这个像素 end subplot(223), imshow(I); %显示均衡化后的图像 title('均衡化后的图像'); subplot(224), imhist(I); %利用系统函数进行直方图计算 title('均衡化后的直方图'); 三、 实验结果截图并做分析 原图像伊伽贝拉 0100200 300 1234x 104 未均衡化的直方图 均衡化后的图像 02000 4000 均衡化后的直方图 100 200 分析: 从上面各个图中可以看出在原图像中的一些看不到或看不清楚的细节在均衡化后可以

数字图像处理实验报告--直方图规定化

数字图像处理实验报告 实验名称:直方图规定化 姓名: 班级: 学号: 专业:电子信息工程(2+2) 指导教师:陈华华 实验日期:2020年5月24日

直方图匹配(规定化) 直方图均衡化能够自动增强整个图像的对比度,但它的具体增强效果不容易控制,处理的结果总是得到全局均匀化的直方图。实际上有时需要变换直方图,使之成为某个特定的形状,从而有选择地增强某个灰度值范围内的对比度。这时可以采用比较灵活的直方图规定化。一般来说正确地选择规定化的函数可以获得比直方图均衡化更好的效果。 所谓直方图规定化,就是通过一个灰度映像函数,将原灰度直方图改造成所希望的直方图。所以,直方图修正的关键就是灰度映像函数。 直方图匹配方法主要有3个步骤(这里设M和N分别为原始图和规定图中的灰度级数,且只考虑N≤M的情况): (1) 如同均衡化方法中,对原始图的直方图进行灰度均衡化: (2) 规定需要的直方图,并计算能使规定的直方图均衡化的变换: (3) 将第1个步骤得到的变换反转过来,即将原始直方图对应映射到规定的直方图,也就是将所有pf(fi)对应到pu(uj)去。 一、A图直方图规定B图

Matlab程序: %直方图规定化 clear all A=imread('C:\Users\hp\Desktop\A.tif'); %读入A图像 imshow(A) %显示出来 title('输入的A图像') %绘制直方图 [m,n]=size(A); %测量图像尺寸 B=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255 B(k+1)=length(find(A==k))/(m*n); %计算每级灰度出现的概率,将其存入B中相应位置 end figure,bar(0:255,B,'g'); %绘制直方图 title('A图像直方图') xlabel('灰度值') ylabel('出现概率') axis([0,260,0,0.015]) C=imread('C:\Users\hp\Desktop\B.tif');%读入B图像 imshow(C) %显示出来 title('输入的B图像') %绘制直方图 [m,n]=size(C); %测量图像尺寸 D=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255 D(k+1)=length(find(C==k))/(m*n); %计算每级灰度出现的概率,将其存入D中相应位置 end

直方图均衡化与规定化

课程名称___图像处理与分析 题目名称_直方图均衡化与规定化 学院信息工程 专业电子信息工程 年级班别 0503 学号 3105003438 学生姓名姚艺锋 指导老师曹江中 2008年6月16日

《图像处理与分析》课程设计报告 直方图均衡化与规定化 1、设计方案(原理) 一般情况下,如果图像的灰度分别集中在比较窄的区间,从而引起图像细节的模糊,为了使图像细节清晰,并使目标得到突出,达到图像增强的目的,可通过改善各部分亮度的比例关系,即通过直方图的方法来实现.直方图的方法是以概率论为基础的.常用的方法有直方图均衡化和直方图规定化. (1) 直方图均衡化 直方图均衡化又称直方图平坦化,是将一已知灰度概率密度分布的图像经过某种变换,变成一幅具有均匀灰度概率密度分布的新图像.其结果是扩展了像元取值的动态范围,从而达到增强图像整体对比度的效果. 直方图均衡化的具体实现步骤如下: 1).列出原始图像的灰度级 1 ,,1,0,-=L j f j 2).统计各灰度级的像素数目 1 ,,1,0,-=L j n j 3).计算原始图像直方图各灰度级的频数 1 ,,1,0,/)(-==L j n n f P j j f 4).计算累积分布函数 1 ,,,1,0,)()(0 -== ∑ =L k j f P f C k j j f 5).应用以下公式计算映射后的输出图像的灰度级,P 为输出图像灰度级的个 数,其中INT 为取整符号 1 ,,1] 5.0)()[(min min max -=++-=P i g f C g g INT g i 6).统计映射后各灰度级的像素数目 ni, i=0,1,…,k,…P-1. 7). 计算输出直方图Pg(gi)=ni/n, i=0,1,…,P-1. 8). 用fj 和gi 的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀

编程实现直方图均衡化

编程实现直方图均衡化 一、实验目的 掌握直方图均衡化的原理,和其步骤,了解直方图均衡化的作用、效果。二、实验要求 实现对任意图像进行直方图均衡化。 三、实验原理 1.直方图均衡化:对原始图像的像素灰度做某种映射变换,使变换后图像直方图的概率密度呈均匀分布,即变换后图像的灰度级均匀分布。 2. 步骤: (1).统计原图像每一灰度级的像素数和累积像素数。 (2).计算每一灰度级xa均衡化后对应的新值,并对其四舍五入取整,得 到新灰度级xb。 (3).以新值替代原灰度值,形成均衡化后的新图像。 (4).根据原图像像素统计值对应找到新图像像素统计值,作出新直方图。 四、实验思路

五、 实验步骤 1.新建项目文件:本实验选用的语言是C#,开发工具是VisualStudio2010,通 过“文件—新建—项目—C#—Windows 窗体应用程序”,命名“直方图均衡化”即可; 2.编写代码:由实验思路中的思维导图可得知,本实验步骤与“绘制直方图实 验非常类似”,只是中间加了对原始图像灰度值统计数据进行了均衡化处理这一步骤,因此,只需在它的基础上进行改动和添加部分代码即可,具体如下: (1).编写头文件读取代码:由于以前的实验已有该代码,那么只需,导入其所在的“.cs ”类文件即可; (2).编写读取图像灰度值代码:将“绘制任意图像灰度值”实验该部分功能“.cs ”类文件导入即可; (3).编写统计灰度值代码:载入该功能所在“.cs ”类文件即可; (4).编写直方图均衡化代码:由实验原理里的直方图均衡化步骤可知它对应的代码部分应该有:统计像素累计数,这个只需利用已有的灰度值及其频数所在的 Hashtable 哈希表数据即可;将原始灰度级映射到新的值,只需编写一个 对应方法,再对新的灰度级频数进行统计即可,具体代码将后文; (5).编写绘制直方图代码:导入已有的代码所在“.cs ”类文件即可。 3.编译与调试:通过VS2010断点等调试工具,可查看、排除程序错误,无语法、逻辑错误后,编译生成程序文件即可; 4.运行程序查看结果:运行程序,加载实验数据,查看绘制出的直方图,然后 再通过ENVI 的“Enhance-Interactive Stretching ”工具选择 “SretchType ”为“Equalization ”执行后显示的直方图对比,看是否准确; 六、 结果与分析 1. 结果 程序界面 ()01k j a a j L h x N =- ∑

直方图均衡化的matlab实现_数字图像处理课程论文

海南大学课程论文 课程名称:数字图像处理 题目名称:直方图均衡化的matlab实现 学院:信息科学技术学院 专业班级:2010级计算机科学与技术专业

直方图均衡化的matlab实现 摘要 直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的图像增强方法。为了使图像的灰度范围拉开或使灰度均匀分布,从而增大反差,使图像细节清晰,以达到增强的目的,本文采用直方图均衡化的图像增强的基本理论原理,在matlab环境下,对数字图像进行直方图均衡化处理。实验结果表明,原来偏暗的且对比度较低的图像经过直方图均衡化后图像的对比度及平均亮度明显提高,直方图均衡化处理能有效改善灰度图像的对比度差和灰度动态范围。 关键词:直方图,均衡化,matlab 引言 图像增强的方法是通过一定手段对原图像附加一些信息或变换数据,有选择地突出图像中感兴趣的特征或者抑制(掩盖)图像中某些不需要的特征,使图像与视觉响应特性相匹配。在图像增强过程中,不分析图像降质的原因,处理后的图像不一定逼近原始图像。图像增强技术根据增强处理过程所在的空间不同,可分为基于空间域的算法和基于频率域的算法两大类。 基于空间域的算法分为点运算算法和邻域去噪算法。点运算算法即灰度级校正、灰度变换和直方图均衡化等,目的或使图像成像均匀,或扩大图像动态范围,扩展对比度。 直方图均衡化能够增强整个图像的对比度,提高图像的辨析程度,增强效果好。本文讨论了空间域的直方图均衡化增强方法,并用matlab 进行了实现。

1.论文目的 1.1通过直方图以及均衡化的理论原理,用matlab实现直方图均衡化; 1.2 在加深对直方图以及均衡化的理论原理知识理解的基础上,学会运用已 学的知识设计直方图均衡化实验并对结果进行分析,并用实验的结果来说明直方图均衡化的特点和应用。 2.直方图理论 灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像元的个数。确定图像像元的灰度值范围,以适当的灰度间隔为单位将其划分为若干等级,以横轴表示灰度级,以纵轴表示每一灰度级具有的像元数或该像元数占总像元数的比例值,做出的条形统计图即为灰度直方图。在matlab中,在imhist函数的返回值中,counts保存了落入每个区间的像素的个数,通过计算counts与图像中像素总数的商可以得到归一化的直方图。 3.直方图均衡化 很多原始的灰度图像由于其灰度分布集中在较窄的范围内,使图像的细节不够清晰,对比度较低。为了使图像的灰度范围拉开或使灰度均匀分布,从而增大反差,使图像细节清晰,以达到增强的目的,通常采用直方图均衡化变换。3.1 直方图均衡化的概念 直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。 3.2 直方图均衡化理论 考虑连续灰度值,并用变量r 表示待处理图像的灰度,假设日取值范围为[0,L-1],且r=0表示黑色,r=L-1表示白色,用S 分别表示输出图像灰度值。在r 满足这些条件的情况下,有S=T(r),0≤r≤L-1,T(r )为变换函数。对于输入

图像处理之直方图匹配

直方图匹配,又称直方图规定化,即变换原图的直方图为规定的某种形式的直方图,从而使两幅图像具有类似的色调和反差。直方图匹配属于非线性点运算。 直方图规定化的原理:对两个直方图都做均衡化,变成相同的归一化的均匀直方图,以此均匀直方图为媒介,再对参考图像做均衡化的逆运算 ///

/// 直方图匹配 /// /// 原始图像 /// 匹配图像 /// 处理后图像 /// 处理成功true 失败false public static bool HistogramMatching(Bitmap srcBmp, Bitmap matchingBmp, out Bitmap dstBmp) { if (srcBmp == null || matchingBmp == null) { dstBmp = null; return false; } dstBmp = new Bitmap(srcBmp); Bitmap tempSrcBmp = new Bitmap(srcBmp); Bitmap tempMatchingBmp = new Bitmap(matchingBmp); double[] srcCpR = null; double[] srcCpG = null; double[] srcCpB = null; double[] matchCpB = null; double[] matchCpG = null; double[] matchCpR = null; //分别计算两幅图像的累计概率分布 getCumulativeProbabilityRGB(tempSrcBmp, out srcCpR, out srcCpG, out srcCpB); getCumulativeProbabilityRGB(tempMatchingBmp, out matchCpR, out matchCpG, out matchCpB); double diffAR = 0, diffBR = 0, diffAG = 0, diffBG = 0, diffAB = 0, diffBB = 0; byte kR = 0, kG = 0, kB = 0; //逆映射函数 byte[] mapPixelR = new byte[256]; byte[] mapPixelG = new byte[256]; byte[] mapPixelB = new byte[256]; //分别计算RGB三个分量的逆映射函数 //R for (int i = 0; i < 256; i++) { diffBR = 1; for (int j = kR; j < 256; j++) {

基于matlab的直方图均衡化

课程设计报告 题目基于matlab的直方图均衡化程序设计 学生姓名: 学生学号: 系别: 专业: 届别: 指导教师: 电气信息工程学院制

目录 1、引言·······················································································- 2 - 2、直方图基础 ···············································································- 2 - 3、直方图均衡化············································································- 3 -3.1 直方图均衡化的概念·····················································································- 3 -3.2 直方图均衡化理论························································································- 4 - 3.3 Matlab 实现······························································································- 4 - 4、结论 ······················································································- 10 - 5、心得体会················································································- 10 -参考文献·····················································································- 10 - 基于matlab的直方图均衡化程序设计

相关主题