资源预览内容
第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
第9页 / 共26页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
实验报告课程名称 数字图像处理分院 班_组姓名学号日期年月日#程序所实现的功能:1)图像的读取和保存。2)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整, 显示和对比变换前后的图像。3)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该 选择区域。4)图像直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。5)能对图像加入各种噪声,并通过几种滤波算法实现去噪并显示结果。6)底片效果7)边缘信息8)图像反转程序实现的亮点设计简洁的菜单栏以及常用工具的快捷图标也可以使用对应功能的快捷键,包括新建,打开(CTRL+O ),保存(CTRL+S );菜单栏里更是增加了操作撤销与图像还原的操作,可是实现返回操作。总体设计图1软件的总体设计界面布局如上图所示,主要分为2个部分:显示区域与操作区域。显示区域:显示载入原图,以及通过处理后的图像。操作区域:通过功能键实现对图像的各种处理,为了实现界面的简洁, 大部分的功能放到了菜单栏里。在截图中可见,左部为一系列功能按键如“对比度调节”、“亮度调节”、“裁剪”等等;界面正中部分为图片显示部分,界面中下方为系列功能切换选择组。菜单栏的设计展示untitled (J 3EWKS Ctrl+CCwl*Z具体设计现介绍各个功能模块的功能与实现。4.1菜单栏的设计。通过Menu Editor创建如下菜单,通过以下菜单来控制显示或隐藏功能按键图3以“文件”菜单中“打开”为例说明实现用户界面功能键“打开”的显示与隐藏。 实现该功能通过添加callback 就可以了:通过Toolbar Editor可以添加快捷图标,如下图:图4图像的读取和保存。(1) 利用“文件”菜单中的“打开”、“保存”或者使用菜单栏下的快捷图标分别实现图片 的读取与保存。图5如果没有选中文件还会提示图6(2) 图像保存。利用“ uiputfile ”、“ imwrite ”函数实现图像文件的保存。图7同样按下去下取消键会提示:图8(3) 程序的退出。你可以在菜单栏使用退出键,或者在主界面右下角有关闭按钮就可以退出程序。对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。按下亮度调节按钮会弹出输入框,输入调节倍数,如下图:图9(注意:这里的倍数是相反的调节,你会发现输入0.1后亮度会变亮)调节后的图像如下:图11对比度的调节跟亮度一样,调节后的图像如下:图124. 4用鼠标选取图像感兴趣区域,显示和保存该选择区域。按下裁剪按钮把鼠标移动到处理后的图像窗口,光标会变成十字形状,拖动光标会出现方框,如下:图13双击方框里的图像就完成了裁剪。4.5图像转化为灰度图像。由于在matlab中较多的图像处理函数支持对灰度图像进行处理,故对图像进行灰 度转化十分必要。可利用 rgb2gray( X)函数对其他图像进行灰度图像的转化。 转化实例如下:图144.8加入各种噪声,并通过几种滤波算法实现去噪。(1 )加入噪声。通过 加入椒盐噪声imnoise(l,type,parameters)来加入各种噪声。图15加入噪声后:图16高斯噪声:乘性噪声:图17这几种噪声我加入的参数都是 0.02,效果逐渐加深。滤波:(注意:这几个滤波不可以叠加使选择线性滤波的结果如下,可以看出滤去了大部分噪声, 用,否则出现白屏)图17翻转: 左右翻转图18上下翻转:图19工具一一底片效果:图20边缘信息:图215、结果分析软件测试基本成功,课题所要求的功能均能较好实现。但一些功能只支持灰 度图像的处理。其中值得一提的是在滤波处理中的低通滤波与高通滤波的效果。由于一般图 像中含有较多的低频信息成分高频成分较少,通过低通滤波后,噪声以及高频成 分被滤除,图像虽有少量失真,略显模糊,但尚可辨识。但若是通过高通滤波后, 大量的有效低频信息被滤除,图像严重失真,不可辨识。源码:fun cti on duibidu_Selecti on Cha ngeFc n( hObject, eve ntdata, han dies)% hObjecthan dle to the selected object in duibidu% eventdata structure with the following fields (see UIBUTTONGROUP)% Even tName: stri ng Selectio nCha nged (read only)% OldValue: han dle of the previously selected object or empty if none was selectee% NewValue: han dle of the curre ntly selected object% han dlesstructure with han dles and user data (see GUIDATA)global Tglobal strstr=get(hObject,stri ng);axes(ha ndles.axes2);switch strcase增强T=getimage;prompt=输入参数:;defans=1;p=in putdlg(prompt, in put,1,defa ns); p1= str2double(p1);f=immultiply(ha ndles.img,p1); imshow (f);han dles.img=f; guidata(hObject,ha ndles);case减弱T=getimage; prompt=输入参数:; defan s=1;p=in putdlg(prompt,i nput,1,defa ns); p1= str2double(p1);f=imdivide(ha ndles.img,p1); imshow(f);han dles.img=f; guidata(hObject,ha ndles);end% - Executes on butt on press in lia ngdu.fun cti on lia ngdu_Callback(hObject, eve ntdata, han dles)% hObject handle to lian gdu (see GCBO)% eve ntdata reserved - to be defi ned in a future vers ion of MATLAB % han dlesstructure with han dles and user data (see GUIDATA)global Taxes(ha ndles.axes2);T=getimage;prompt=调整倍数;defan s=1;p=in putdlg(prompt, in put,1,defa ns);p1= str2double(p1);y=imadjust(ha ndles.img, , ,p1);%亮度调节imshow(y);han dles.img=y;guidata(hObject,ha ndles);%function wenjian_Callback(hObject, eventdata, handles)% hObjecthan dle to wenjia n (see GCBO)% eve ntdata reserved - to be defi ned in a future vers ion of MATLAB % han dlesstructure with han dles and user data (see GUIDATA)%fun cti on ope n_Callback(hObject, eve ntdata, han dies)% hObjecthan dle to ope n (see GCBO)% eve ntdata reserved - to be defi ned in a future vers ion of MATLAB% han dies structure with han dies and user data (see GUIDATA)filename,pathname=uigetfile(*jpg;*bmp;*tif;*,载入图像);if isequal(file name,O)|isequal(path name,0)errordlg(没有选中文件,出错);return;elsefile=path name,file name;global S%设置一个全局变量S,保存初始图像路径,以便之后的还原操作???S=file;x=imread(file);set(ha ndles.axes1,Ha ndleVisibility,ON);axes(ha ndles.axesl);imshow(x);set(ha ndles.axes1,Ha ndleVisibility,OFF);axes(ha ndles.axes2);imshow(x);han dles.img=x;guidata(hObject,ha ndles);end%fun cti on save_Callback(hObject, eve ntdata, han dles)% hObject han dle to save (see GCBO)% eve ntdata reserved - to be defi ned in a future vers ion of MATLAB% han dlesstructure with han dles and user data (see GUIDATA)sfile name ,sfilepath=uiputfile(*jpg;*.bmp;*tif;*,保存图像文件,u ntitled.jpg);if isequal(sfile name,sfilepath,O,O)sfilefullname=sfilepath ,sfilename; imwrite(ha ndles.img,sfilefull name);elsemsgbox(你按了取消键,保存失败);end%fun cti on exit Callback(hObiect, eve ntdata, han d
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号