
课程设计论文数字图像处理的MATLAB实现.doc
16页课程设计(论文)说明书题 目: 数字图像处理的 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 目 录引言 …………………………………………………………………………41 界面展示……………………………………………………………………………42 具体设计……………………………………………………………………………52.1 菜单设计……………………………………………………………………………52.2 图像基本处理………………………………………………………………………52.2.1图像旋转………………………………………………………………………52.2.2截图…………………………………………………… ……………………62.2.3亮度调节………………………………………………………………………62.2.4灰度图像………………………………………………………………………62.3 加噪和去噪…………………………………………………………………………72.3.1加入噪声………………………………………………………………………72.3.2滤波去噪………………………………………………………………………72.4 还原………………………………………………………… ……………………82.5 撤销……………………………………………………… ………………………82.6 直方图统计和直方图均衡……………………………… … ……………………92.6.1直方图均衡…………………………………………… ………………………92.6.2直方图统计……………………………………… ……………………………92.7 底片效果……………………………………………………………………………92.8 边缘信息……………………………………………………………………………102.9 图像翻转……………………………………………………………………………102.10 放大缩小………………………………………………… ………………………112.11 对比度……………………………………………………………………………122.11.1对比度增强……………………………… …………………………………122.11.2对比度减弱…………………………… ……………………………………122.12 个人信息…………………………………………………………………………123 结论…………………………………………………………………………………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所示: 。
