




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、课程设计目的(1)进一步掌握matlab的用法;(2)在实践中深入理解图像显示的方法;(3)学会用matlab对图像进行显示。二、课程设计要求(1)根据题目,查阅有关资料,掌握图像显示技术;(2)学习MATLAB软件,掌握MATLAB各种函数的使用;(3)根据图像显示原理,运用MATLAB进行编程,仿真调制过程,记录并分析仿真结果;(4)形成设计报告。三、设计方案一般情况下,如果图像的灰度分别集中在比较窄的区间,从而引起图像细节的模糊,为了使图像细节清晰,并使目标得到突出,达到图像增强的目的,可通过改善各部分亮度的比例关系,即通过直方图的方法来实现.直方图的方法是以概率论为基础的.常用的方
2、法有直方图均衡化和直方图规定化.(1) 直方图均衡化直方图均衡化又称直方图平坦化,是将一已知灰度概率密度分布的图像经过某种变换,变成一幅具有均匀灰度概率密度分布的新图像.其结果是扩展了像元取值的动态范围,从而达到增强图像整体对比度的效果.直方图均衡化的具体实现步骤如下:1).列出原始图像的灰度级 2)统计各灰度级的像素数目3).计算原始图像直方图各灰度级的频数4).计算累积分布函数5).应用以下公式计算映射后的输出图像的灰度级,P为输出图像灰度级的个数,其中INT为取整符号6).统计映射后各灰度级的像素数目 ni, i=0,1,k,P-1.7). 计算输出直方图Pg(gi)=ni/n, i=0
3、,1,P-1.8). 用fj和gi的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀分布的输出图像(2) 直方图规定化 直方图均衡化的优点是能自动增强整个图像的对比度,但它的具体增强效果不易控制,处理的结果总是得到全局的均衡化的直方图.实际工作中,有时需要变换直方图使之成为某个特定的形状,从而有选择地增强某个灰度值范围内的对比度,这时可采用比较灵活的直方图规定化方法.直方图规定化增强处理的步骤如下:令Pr(r)和Pz(z)分别为原始图像和期望图像的灰度概率密度函数。如果对原始图像和期望图像均作直方图均衡化处理,应有 (1) (2) (3)由于都是进行均衡化处理,处理后的原图像概率密度函数
4、Ps(S)及理想图像概率密度函数PV(V)是相等的。于是,我们可以用变换后的原始图像灰度级S代替(2)式中的V。即 Z = G - 1(S) (4)这时的灰度级Z 便是所希望的图像的灰度级。此外,利用(1)与(3)式还可得到组合变换函数 Z = G - 1T(r) (5)对连续图像,重要的是给出逆变换解析式。对离散图像而言,有 (6) (7) (8)四、设计内容%-选择图片路径及显示-%global f%选择图片路径= . %.表示与下行连接uigetfile('*.bmp''*.jpg''*gif''*tif','选择图
5、片'); %打开文件类型,对话框名称f=imread(pathname );axes(handles.axes1); %在axes1显示原图像 imshow(f) ;title('原始图像');%-设置下拉菜单分别选择显示图像-%global fva=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=
6、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)
7、+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
8、('均衡化后图像');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
9、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,3
10、9),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)
11、9;); 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 =
12、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 fva=get(handles.popupmenu2,'Value'); val=get(hObject,'Value');switch val ca
13、se 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)
14、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;五、实验结果GUI界面设计:选择图片路径:直接调用函数均衡化和规定化:原图像与均衡化和规定化后对比:六、结果分析
15、通过直接调用函数和编程对图像进行处理的结果对比,可以看出实验结果和理论结果基本一致;在编程处理中,可以自定义对规定化中的直方图(Ps2Temp)进行修改,从而得到所希望的图像增强效果.七、总结分析一周的数字图像处理课程设计,最大的收获是初步的掌握的Matlab软件的使用,通过这次课程设计,我学会如何利用MATLAB制作视图界面(GUI),并通过视图界面对数字图像进行处理,方便快捷,而且美观。在实践过程中,基本上是在已有的基础上自学而完成的,所以对自己的自学能力的提高也起到了一定的作用。并且在此次实习过程中,充分利用了图书馆,及其网络资源,才能够成功完成任务,让我意识到充分利用身边资源的重要性。本次数字图像处理课程设计不仅加强了对课本知识的了解,而且大大增强了我们课外自学和动手能力,让我受益良多。八、参考文献张汗灵编著 MATLAB在图像处理中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程建筑外架合同
- 工程施工合同索赔条款
- 劳动合同与劳动保护
- 工程劳务合同协议书
- 学校食堂猪肉供货合同
- 影视剧拍摄场地租赁合同
- 房屋合同尾款协议
- 棋牌室装修工程协议合同
- 收养协议是合同
- 客户样板合同协议
- 高中主题班会 奋力拼搏圆梦高考课件-高三下学期冲刺高考主题班会
- 2025-2030全球及中国汽车制动卡钳行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 武汉市部分学校2025届高三第四次月考(数学试题)试题
- 化学中考试题及答案宁夏
- 【2025 中考模拟】3月石家庄十八县初三摸底考试物理试卷(含答案)
- 《寓言故事中的对比》群文阅读(教学设计)-2023-2024学年统编版语文三年级下册
- 2024年中国资源循环集团有限公司招聘笔试真题
- 2025届3月高三山东潍坊一模英语试题
- 2025年江西省南昌市南昌县城区学校中考一模英语试题(原卷版+解析版)
- 食品安全自查、从业人员健康管理、进货查验记录、食品安全事故处置等保证食品安全的规章制度
- 成人肠内营养支持的护理课件
评论
0/150
提交评论