当前位置:文档之家› 基于Matlab的数字图像处理课程设计报告

基于Matlab的数字图像处理课程设计报告

课程设计(论文)说明书题目:数字图像处理的MATLAB实现摘要利用matlab的GUI程序设计一个简单实用的图像处理程序。

该程序应具备图像处理的常用功能,以满足用户的使用。

现设计程序有以下基本功能:1.图像的读取和保存。

2.设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。

3.设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。

4.编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的操作,并保存,比较几种插值的效果。

5.图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。

6.能对图像加入各种噪声,并通过几种滤波算法实现去噪并显示结果。

关键词:图像;截图;缩放;直方图;加噪去噪AbstractUse of matlab GUI programming a simple and practical image processing program. The program should have the common use of the image processing function, to meet the user's use. Now has the following basic function design program:1. The image of the reading and save.2. The graphical user interface design, to enable users to the image of any brightness and contrast change adjustment, display and contrast transform the before and after images.3. The graphical user interface design, let users can use the mouse to select the image the interested region, display and save the for the area.4. Write a program through the nearest interpolation and double linear interpolation algorithms such as the selection of users will enlarge image region and narrowing the integer times the operation, and preserve, the comparison of several interpolation effect.5. The image histogram statistics and histogram equalization, required to display histogram statistics, compared the effect after the histogram equalization.6. Can join various noise image, and through several filtering algorithm denoising and displays the results.Keywords:Image,;screenshots;zoom;histogram,;add noise to noise目录引言 (4)1 界面展示 (4)2 具体设计 (5)2.1 菜单设计 (5)2.2 图像基本处理 (5)2.2.1图像旋转 (5)2.2.2截图 (6)2.2.3亮度调节 (6)2.2.4灰度图像 (6)2.3 加噪和去噪 (7)2.3.1加入噪声 (7)2.3.2滤波去噪 (7)2.4 还原 (8)2.5 撤销 (8)2.6 直方图统计和直方图均衡 (9)2.6.1直方图均衡 (9)2.6.2直方图统计 (9)2.7 底片效果 (9)2.8 边缘信息 (10)2.9 图像翻转 (10)2.10 放大缩小 (11)2.11 对比度 (12)2.11.1对比度增强 (12)2.11.2对比度减弱 (12)2.12 个人信息 (12)3结论 (13)谢辞 (14)参考文献 (15)附录 (16)引言MatLab是近几年来国内外使用最为广泛的优秀科技软件之一.其语法结构简单.具有极强的数值计算、数据分析、图形绘制及图像处理等功能.具有高质量的图形可视化效果和强大的界面设计能力.因而在数字图像处理中有着其他语言所无法比拟的优势。

MatLab图像处理工具箱提供了丰富的图像处理函数,几乎涵盖了图像处理的各个内容,主要有:图空间变换:邻域和块操作;二值图像操作;线性滤波和滤波器设计;变换域处理:图像分析和增强:图像恢复;感兴趣区域处理:图像压缩:形态学运算等。

1界面展示如图1-1,1-2所示图1-1图1-2软件大体分为三个部分:菜单部分,显示部分和操作部分。

(1) 菜单部分:实现打开文件,保存文件和退出功能。

(2) 显示部分:显示载入的原始图像和处理后的图像。

(3) 操作部分:通过各个功能按键实现对图像的不同处理。

2 具体设计2.1 菜单设计①通过Menu Editor创建菜单如图2-1-1所示图2-1-1②利用“文件”菜单中的“打开”、“保存为…”分别实现图片的读取与保存。

如图2-1-2所示。

图2-1-22.2 图像基本处理2.2.1图像旋转此功能可以实现图像的逆时针任意角度旋转。

如图2-2-1所示。

图2-2-1通过函数f=imrotate(handles.img,p1,'bilinear','crop');实现翻转。

2.2.2截图通过imcrop(x)函数来实现对图片某一区域的截取,截取的图片在处理后的方框中显示。

结合“保存为…”,可把截图处理后的图片保存在指定路径。

如图2-2-2所示。

图2-2-22.2.3亮度调节如图2-2-3所示。

图2-2-32.2.4灰度图像由于在matlab中较多的图像处理函数支持对灰度图像进行处理,故对图像进行灰度转化十分必要。

可利用rgb2gray(X)函数对其他图像进行灰度图像的转化。

如图2-2-4所示。

图2-2-42.3 加噪和去噪。

2.3.1加入噪声。

通过imnoise(I,type,parameters)来加入各种噪声。

①加入椒盐噪声。

如图2-3-1-1所示。

图2-3-1-1②加入乘性噪声。

如图2-3-1-2所示。

图2-3-1-22.3.2滤波去噪(乘性噪声)。

①高通滤波。

如图2-3-2-1所示。

②低通滤波。

如图2-3-2-2所示。

图2-3-2-1 图2-3-2-2③中值滤波。

如图2-3-2-3所示。

④线性滤波。

如图2-3-2-4所示。

图2-3-2-3 图2-3-2-4⑤自适应滤波。

如图2-3-2-5所示。

图2-3-2-52.4 还原通过一个全局变量保存原始图像路径,在需要还原至原始图像时,重新读取该全局变量即可。

2.5 撤销撤销上一步的操作。

通过另设一个全局变量T保存是上一次操作后的图像。

2.6 直方图统计和直方图均衡2.6.1通过histeq(X)函数实现直方图均衡。

因为此函数只能对灰度图像进行直方图均衡,故应先将彩图转为灰度图像。

如图2-6-1-1所示。

图2-6-1-1然后,对灰度图像进行直方图均衡如图2-6-1-2所示。

图2-6-1-22.6.2通过利用imhist(X)函数来实现直方图统计。

结果如图2-6-2所示。

图2-6-22.7 底片效果将图像变为底片,并显示程序段关键部分:通过f=imcomplement(handles.img);实现图像取反,形成底片效果。

如图2-7所示。

图2-72.8 边缘信息采取图像的边缘信息。

通过f=edge(handles.img,'canny');是实现边缘信息的获取。

如图2-8所示。

图2-82.9 图像翻转实现图像的镜像翻转。

通过f=fliplr(handles.img);f=flipud(handles.img);分别实现左右镜像翻转与上下镜像翻转。

上下翻转如图2-9-1所示:图2-9-1左右翻转如图2-9-2所示:图2-9-22.10 放大缩小使用这两个按键。

如图2-10所示。

图2-102.11 对比度2.11.1对比度增强如图2-11-1所示。

图2-11-12.11.2对比度减弱如图2-11-2所示。

图2-11-2 2.12 个人信息通过弹出警告窗口完成。

窗口内容如图2-12所示。

图2-12到此为止,界面的具体设计已经介绍完。

3 结论经过不断调试,软件已经得到了完善,达到了课设的基本要求,遗憾的是有些功能只支持对灰度图像处理。

通过一个月的matlab学习和设计,我对matlab的guide使用更加熟练。

还记得当初选题目的时候,看到每个题目都无所适从。

虽然本学期开了图像处理的课,但是从来没有做过软件,很担心自己根本做不出成品。

经过老师的指点,到图书馆借了本书,又从网上大量的收集资料,通过不断地学习和参考,终于完成了软件设计,我感到非常自豪。

这个作品的功能不是很多,但是我还是较为满意的。

本次的课程设计,不但鞭策着我去巩固matlab的理论知识,还提高了我对matlab的实际操作运用,使得理论与实践相结合,为进一步学习matlab打下坚实的基础。

谢辞在课设过程,我遇到过不少问题。

例如,如果添加回调函数,如果对菜单进行美化等很多问题。

后来在老师和同学的帮助下,问题都得到了解决参考文献:董辰辉等.《MATLAB 2008全程指南》.电子工业出版社毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

相关主题