灰度直方图均衡化与规定化Word格式文档下载.docx
- 文档编号:19156888
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:13
- 大小:309.26KB
灰度直方图均衡化与规定化Word格式文档下载.docx
《灰度直方图均衡化与规定化Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《灰度直方图均衡化与规定化Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
8).用fj和gi的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀分布的输出图像
(2)直方图规定化
直方图均衡化的优点是能自动增强整个图像的对比度,但它的具体增强效果不易控制,处理的结果总是得到全局的均衡化的直方图.实际工作中,有时需要变换直方图使之成为某个特定的形状,从而有选择地增强某个灰度值范围内的对比度,这时可采用比较灵活的直方图规定化方法.直方图规定化增强处理的步骤如下:
令Pr(r)和Pz(z)分别为原始图像和期望图像的灰度概率密度函数。
如果对原始图像和期望图像均作直方图均衡化处理,应有
(1)
(2)
(3)
由于都是进行均衡化处理,处理后的原图像概率密度函数Ps(S)及理想图像概率密度函数PV(V)是相等的。
于是,我们可以用变换后的原始图像灰度级S代替
(2)式中的V。
即
Z=G-1(S)(4)
这时的灰度级Z便是所希望的图像的灰度级。
此外,利用
(1)与(3)式还可得到组合变换函数
Z=G-1[T(r)](5)
对连续图像,重要的是给出逆变换解析式。
对离散图像而言,有
(6)
(7)
(8)
四、设计内容
%----------------------------选择图片路径及显示---------------------------%
globalf
%选择图片路径
[filename,pathname]=...%...表示与下行连接
uigetfile({'
*.bmp'
;
'
*.jpg'
*gif'
*tif'
},'
选择图片'
);
%打开文件类型,对话框名称
f=imread([pathnamefilename]);
axes(handles.axes1);
%在axes1显示原图像
imshow(f);
title('
原始图像'
);
%------------------设置下拉菜单分别选择显示图像------------%
va=get(handles.popupmenu1,'
Value'
val=get(hObject,'
switchval%用switch语句设置选项
case1%原图像直方图
I=double(f);
[m,n]=size(I);
H=zeros(1,256);
fori=1:
m
forj=1:
n
H(I(i,j)+1)=H(I(i,j)+1)+1;
end
s=zeros(1,256);
t=zeros(1,256);
256s(i)=H(i)/(m*n);
i
t(i)=t(i)+s(j);
end
axes(handles.axes2);
plot(s);
原图像直方图'
case2%均衡化后图像及直方图
t1=round(t*(256-1)+0.5);
H1=zeros(1,256);
256
H1(t1(i))=H1(t1(i))+s(i);
axes(handles.axes4);
bar(H1);
均衡化后直方图'
I2=t1(I+1)-1;
axes(handles.axes3);
imshow(uint8(I2));
均衡化后图像'
case3%规定化后图像及直方图
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;
%总像素个数
fori=1:
row
forj=1:
col
num=double(I(i,j))+1;
%获取像素灰度级
nk(num)=nk(num)+1;
%统计nk
%计算直方图概率估计
L
Ps(i)=nk(i)/n;
%计算累积直方图
ifi==1
Rk(i)=Ps(i);
else1<
=256
Rk(i)=Rk(i-1)+Ps(i);
%规定化直方图
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'
%计算规定化累积直方图
forc=1:
ifc==1
Rk2(c)=Ps2(c);
else
Rk2(c)=Rk2(c-1)+Ps2(c);
%计算原图像与目标图像累计直方图数值的差的绝对值
doubleScMin=zeros(256,256);
forY=1:
forX=1:
ScMin(X,Y)=abs(Rk(Y)'
-Rk2(X)'
%建立映射
HisM=zeros(L:
1);
forP=1:
min=0;
minV=ScMin(1,P);
forQ=1:
if(minV>
ScMin(Q,P))
minV=ScMin(Q,P);
min=Q;
HisM(P)=min;
%将原图像的每个像素灰度转换为直方图均衡化后的灰度
forx=1:
fory=1:
Num=double(I(x,y))+1;
ifNum==i
New(x,y)=HisM(i);
%计算直方图规定化后的直方图
forp=1:
forq=1:
NN=double(New(p,q))+1;
nk2(NN)=nk2(NN)+1;
end
axes(handles.axes5);
imshow(New),title('
规定化后图像'
axes(handles.axes6);
plot(Ps2),title('
规定化后直方图'
end;
%--------------------直接调用函数-----------------------------------------%
va=get(handles.popupmenu2,'
switchval
case1
axes(handles.axes1);
%在axes1显示图像
imshow(f);
title('
原图像'
h=imhist(f,256);
plot(h)
ylim('
auto'
%自动设定Y轴坐标范围和刻度
原始直方图'
)
case2
j=histeq(f);
imshow(j);
均衡化图像'
h=imhist(j,256);
均衡化图像直方图'
case3
hgram=50:
2:
250
k=histeq(f,hgram);
imshow(k);
规定化图像'
h=imhist(k,256);
规定化图像直方图'
end;
五、实验结果
GUI界面设计:
选择图片路径:
直接调用函数均衡化和规定化:
原图像与均衡化和规定化后对比:
六、结果分析
通过直接调用函数和编程对图像进行处理的结果对比,可以看出实验结果和理论结果基本一致;
在编程处理中,可以自定义对规定化中的直方图(Ps2Temp)进行修改,从而得到所希望的图像增强效果.
七、总结分析
一周的数字图像处理课程设计,最大的收获是初步的掌握的Matlab软件的使用,通过这次课程设计,我学会如何利用MATLAB制作视图界面(GUI),并通过视图界面对数字图像进行处理,方便快捷,而且美观。
在实践过程中,基本上是在已有的基础上自学而完成的,所以对自己的自学能力的提高也起到了一定的作用。
并且在此次实习过程中,充分利用了图书馆,及其网络资源,才能够成功完成任务,让我意识到充分利用身边资源的重要性。
本次数字图像处理课程设计不仅加强了对课本知识的了解,而且大大增强了我们课外自学和动手能力,让我受益良多。
八、参考文献
张汗灵编著MATLAB在图像处理中的应用/北京:
清华大学出版社,2008
王家文MATLAB6.5图形图像处理国防工业出版社
王晓丹,吴崇明编著基于MATLAB的系统分析与设计[5]图像处理西安电子科技大学出版社2000
余成波编著数字图像处理及MATLAB实现重庆大学出版社2003
杨枝灵,王开等编著VisualC++数字图像获取处理及实践应用人民邮电出版社2003
苏彦华等编著VisualC++数字图像识别技术典型案例人民邮电出版社2004
..
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 灰度 直方图 均衡 规定
![提示](https://static.bdocx.com/images/bang_tan.gif)