资源预览内容
第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
第9页 / 共28页
第10页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
MATLAB实践课程设计学生姓名:学 号:专业班级:指导教师:二O二年六月1、设计目的32、题目分析32.1课程设计的基本要求 32.2要求实现功能33、总体设计43.1总体界面外观43.2菜单栏44、具体设计54.1文件54.2特殊处理64.3灰度图像处理74.4图像的常用操作84.5快捷工具175、结果分析196、心得体会197、参考书目20&附录201、设计目的综合运用 MATLAB工具箱实现图像处理的 GUI程序设计,设计和实现自己的Photoshop。2、题目分析 课程设计的基本要求1)熟悉和掌握MATLAB程序设计方法2)掌握MATLAB GU程序设计3)学习和熟悉MATLA图像处理工具箱4)学会运用MATLA工具箱对图像进行处理和分析 要求实现功能1 )图像的读取和保存。2)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调 整,显示和对比变换前后的图像。3)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保 存该选择区域。4)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域 进行放大和缩小整数倍的操作,并保存,比较几种插值的效果。5)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。6)为图像添加边框特效,并保存。信息化社会中, 计算机在各种信息处理中发挥着重要的作用。 我们可以借助 计算机,对数字图像进行处理,以达到不同的效果。根据题目的要求,除了实现 要求的功能外,还有很多的功能需要用到。(1)、将一个RGB图像转换为灰度图像。( 2)、可以对图像做各种变换,如旋转等。( 3)、有时并不需要图像显示其细节部分,只要其轮廓,这时候不要很高的 灰度级。可以把图像转换为二值图像,进行图像腐蚀,或是创建索引图像等。( 4)、分析一个图像的频谱特征,利用傅里叶变换,将图像从空间域变换到 频域,然后进行各种处理,经过高通滤波器或是低通滤波器。( 5)、为了科学地定量描述和使用颜色,人们提出了各种颜色模型,按用途 可分为三类: 计算颜色模型, 视觉颜色模型和工业颜色模型。 有时为了不同的需 要,要对颜色模型进行转换。3、总体设计总体界面外观:图2-1界面总体外观软件的总体设计界面外观如图2-1所示,主要分为两个部分:显示区域和操 作区域。显示区域分两个板块,分别显示载入的原图及处理后的图像。操作区域由多个功能模块组成,各种功能模块由多个功能键组成。通过按键 控制实现对图像的处理。菜单栏由于要实现的功能并很多,界面无法容纳下所有功能按钮,所以在排 版的过程中,把基本功能和部分不常用功能都安排在菜单栏上,整体菜单 栏安排如下图所示-Jllft一冃殊一自退出-自瘢酗松a二魁影曰跚二乱-自图輒麻冒勘F酚匕豳帧 匸魂t鬼-囱国営眸甘醺-口絶翹 RGB掘斛弭 DRG日痢T孔 ROBYCBtR r 口室-苣方團-直方图疣订耳前服蔺化-mSHE* laplacian-A瞬幅1!口 S0Q6)1=1 ph&vvitt匕 canny砂噜盍1噪吉SW口檢掘購 目驢稲翎护鮒-旨中值歙_曰哉就液雕分折自脱工属护SfflD瞬索引嬲4、具体设计4.1文件1) 打开通过对话框的形式来选择文件,用uigetfile 函数来实现,uigetfile 函数显 示一个打开文件对话框,该对话框自动列出当前路径下的目录和文件, GUI程序 的操作对象是图像文件,设置后缀名为*jpg或*bmp或*gif 。Uigetfile 函数的调用格式为name,path=yigetfile( ),在按下对话框 中的执行按钮“打开”后,返回选择的文件名和路径,分别保存到“name和“path ” 中。如果按下取消按钮或是发生错误,则返回值是 0。根据返回值的情况,如果 是0,则弹出提示错误的对话框,否则,通过imread函数读出图像数据,把图像 数据赋值给全局变量im。2) 保存通过对话框的形式来保存图像数据,通过 uigetfile函数选择文件名和路径,用getimage (gca)取出变换后的图像数据保存到变量im,最后用imwrite 函数,把数据im存到指定的文件。3)退出 程序实现: close(gcf);4.2特殊处理1) 原图:global a;global T;global im;T=im;axes(ha ndles.axes2);im=a;imshow(im);title( ?- i ?);通过设置一个全局变量a,保存原始图像路径,在点击“原图”键时,重新 读取该全局变量。并通过imshow(im);,将还原的图像显示,达到还原的效果。2) 撤销:global T;axes(ha ndles.axes2);imshow(T);本段程序通过设置一个全局变量 T,通过T=im把上一次操作后的图像信息 赋予全局变量T。点击“撤销”键时,通过imshow(T);将图像返回到上一步操作 后的状态。达到撤销的效果。4.3灰度图像处理1) 灰度与对比度调节用imadjust函数,其调用格式如下:g=imadust(f,low_i n highn,low_out high_out),gamma)gamma表示映射性质,默认值是1表示线性映射。由于该函数有五个参数需要输入,通过对话框把五个参数赋值给low_i n high_i n,low_out high_out,gamma这五个参数,如下一组命令建立了如图所示的输入对话框:prompt=输入参数1,输入参数2,输入gamma;defans=0 0.7,0 1,1;p=inputdlg(prompt,输入参数,1,defans);由于这种方法并不能很好的让用户能够对图像进行任意的任意调节的,直到满意为止。所以应该用滑动条来调节图像的亮度和对比度, 这样更适合用户的使用习惯。设计的时候固定其中的三个参数,通过调节两个参数的值来改变亮度和对比度0 handles.beta,01,handles.gm,这里的变量handles.beta 和handles.gm就通过滑动条得到,滑动条设计如下图:亮度调整的tag名为ld,取值范围01,gammOfi的tag名为gamma取值 范围为05。获取滑动条参数的程序如下:,而是亮度和对比度变化调整,有时并不事先知道参数的值要多少,也han dles.beta=get(ha ndles .l d,value);han dles.gm=get(ha ndles.gamma,value);2) 图像二值化用j=im2bw(x);来对灰度图像到二值图像的转换。转换结果为:4.4图像的常用操作1) 旋转函数imrotate来实现对图像的插值旋转。 该函数的调用格式如下:B= imrotate(A , an gle , method, crop )其中,参数method用于指定插值的方法,可选的值可以有三种,分别为邻 近插值,双线性插值,双三次插值,缺省时为邻近插值,参数angle代表旋转的角度。般来说,旋转后的图像会比原图大,用户可以指定“crop ”参数对旋转后的图像进行剪切(取图像的中间部分),使返回的图像与原图大小相同。执行结果为:2)缩放用函数imresize来实现对图像的放大或缩小。插值方法可选用三种方法,最 近邻插值,双线性插值,双三次插值。该函数的调用格式如下:B= imresize(A ,m method)参数method用于指定插值的方法,可选的值为“nearest ” (最近邻法),“ bilinear ” (双线性插值)、“ bicubic ” (双三次插值),缺省值为“ nearest ”,由于坐标轴限制的原因,处理后看不出放大的效果,如果把处理后的图片 保存起来,再把处理后的文件打开,就可以看到比较明显的放大效果。2)模糊:可通过psf=fspecial(moti on ,le n,theta);im=imfilter(im,psf, circular , conv)实现运动模糊。2)图像取反对图像求反是将原图灰度值翻转,例如对灰度图像取反,则直观效果就是使 黑变白,使白变黑。程序段如下:global im;global T;T=im;axes (ha ndles.axes2);im=imcompleme nt(im);imshow(im);title(取反后图像);4.5图像的特殊处理1)彩色模型RGB转 HSV用函数rgb2hsv(im)可实现RGB专HSV同理:转化为ntsc和ycbcr模型,只要改为相应的函数即可。函数如下: rgb2 ntsc(x);% rgb 模型转 ntsc 模型rgb2ycbcr(x);% rgb 模型转 ycbcr 模型2)直方图直方图统计用imhist函数对图像数据进行直方图统计,x=imhist(ha ndles.img(:,:,1);bar(horz,x);x 矩阵的数据是0255灰度值的统计个数,如果直接对x矩阵数据进行图形 图显示,由于有256个数据,在坐标系中就会很密集,为了更清楚的显示条形图, 所以在程序设计时,把x数据进行部分提取,x1=x(1:10:256);horz=1:10:256;bar(horz,x1);除了显示数据的直方图统计外,还可以对图像进行均衡处理,所用到的函数 是histeq,这两个函数同样只使用于二维数据,所以也要对二维和三维数据分 开处理。直方图均衡化直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的 某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对灰度图像 进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。 由于直方图均衡化增加了图像灰度动态范围, 所以也增加了图像的对比度,反映 在图像上就是图像有较大的反差,许多细节可看得比较清晰了。3) 添加噪声噪声是最常见的图象退化因素之一,也是图像恢复中重点研究的内容。噪声形成的原因是多种多样的,其性质也千差万别。经常用到的噪声有三种,椒盐噪 声、高斯噪声和乘性噪声。可以通过以下三个函数来实现:y=imnoise(handles.img,gaussian ,p1,p2);% 高斯噪声y=im noise(x, salt & pepper ,p1);%椒盐噪声y=imno ise(ha ndles.img,speckle ,p1); % 乘性噪声椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点 噪声。椒盐噪声往往由图像切割引起高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。乘性噪声一般由信道不理想引起,它们与信号的关系是相乘,乘性随机性看 成系统的时变性(如衰落或者多普勒)或者非线性所造成的。本界
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号