matlab在图像处理中的应用

上传人:第*** 文档编号:31079320 上传时间:2018-02-04 格式:DOC 页数:13 大小:1.20MB
返回 下载 相关 举报
matlab在图像处理中的应用_第1页
第1页 / 共13页
matlab在图像处理中的应用_第2页
第2页 / 共13页
matlab在图像处理中的应用_第3页
第3页 / 共13页
matlab在图像处理中的应用_第4页
第4页 / 共13页
matlab在图像处理中的应用_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《matlab在图像处理中的应用》由会员分享,可在线阅读,更多相关《matlab在图像处理中的应用(13页珍藏版)》请在金锄头文库上搜索。

1、MATLAB 语言课程论文MATLAB 在图像处理中的应用姓名:魏晶茹学号:12010245218专业:通信工程班级:通信工程 1 班指导老师:汤全武学院:物理电气信息学院完成日期:2011 年 12 月 11 日2MATLAB 在图像处理中的应用(魏晶茹 12010245218 2010 级通信工程班)摘要 MATLAB 语言因具有功能强、效率高、 简单易学等特点,在许多领域得到广泛应用。强大的绘图功能是 MATLAB 的特点之一。MATLAB 提供了一系列的绘图函数,本文在简要介绍 MATLAB 软件的基础上, 结合其图象处理工具箱, 重点分析了 MATLAB 在图象处理中的应用。通过实例

2、验证了该语言具有强大图形处理能力, 是一种简洁易学, 可读性强、功能强大的应用软件。关键词MATLAB 语言、图像处理、直方 图均衡化一、 问题的提出MATLAB 语言是当今国际上科学界 (尤其是自动控制领域) 最具影响力、也是最有活力的软件。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。MATLAB 语言在各国高校与研究单位起着重大的作用。它是集数值计算、符号运算、可视化建模、仿真和图形处理等多种功能为一体的一种编程语言。MATLAB 语言具有强大的以图形化显示矩阵和数组的能力,同时它给这些图形增加注释并且可以对图形进行标注和打印

3、。MATLAB 的图形技术包括二维和三维的可视化、图形处理、动画等高层次的专业图形的高级绘图,例如图形的光照处理、色度处理以及四维数据的表现等。又包括一些可以让用户灵活控制图形技术创建图形用户界面。那么 MATLAB中图形是怎样产生又是怎样处理的呢?二、MATLAB 的主要功能及特点MATLAB 近几年广泛用于图像处理和识别, 使用 MATLAB 设计模式识别应用软件将使设计者获得更大的自由, 可以任意执行特殊的算法和实现复杂的操作,MATLAB 之所以成为世界顶级的科学计算与数学应用软件, 是因为它随着版本的升级与不断完善而具有愈来愈强大的功能。(1)数值计算功能。(2)符号计算功能。(3)

4、数据分析功能。(4)动态仿真功能。(5)图形文字统一处理功能。MATLAB 有三大特点:一是功能强大。主要包括数值计算和符号计算、计算结果和编程可视化、数学和文字统一处理、离线和在线计算。二是界面友好,编程效率高。MATLAB 是一种以矩阵为基本单元的可视化程序设计语言, 语法结构简单, 数据类型单一,指令表达与标准教科书的数学表达式相近。三是开放性强。MATLAB 有很好的可扩充性, 可以把它当成一种更高级的语言去使用。使用它很容易编写各种通用或专用应用程序。三、MATLAB 的图像处理工具概述MATLAB 提供了 20 类图像处理函数,涵盖了图像处理的包括近期研究成果在内的几乎所有的技术方

5、法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。这些函数按其功能可分为:图像显示;图像文件;图像算术运算;几何变换;图像登记;像素值与统计;图像分析;图像增强;线性滤波;线性二元滤波设计;图像去模糊;图像变换;邻域与块处理; 灰度与二值图像的形态学运算;结构元素创建与处理;基于边缘的处理; 色彩映射表操作;色彩空间变换;图像类型与类型转换。图像的读写与显示操作: 用 imread()读取图像,imwrite()输出图像, 把图像显示于屏幕有 imshow(),image ()等函数。imerop ()对图像进行裁剪, 图像的插值缩放可用3imresize()函数实现。旋转用 imro

6、tate()实现。四、MATLAB 在图像处理中的应用MATLAB 中的图像处理工具箱几乎包括了经典图像处理的所有方面, 从基本的图像增强到图像分割,MATLAB 都提供了简便的函数调用来实现许多经典的图像处理方法。理工具箱函数包括 12 类:(1)图像文件操作和显示函数;(2)图像的矩阵表示及运算函数;(3)图像增强函数;(4)图像变换函数(5)图像的空间变换函数;(6)二值形态学操作函数;(7)图像分析和理解函数;(8)其它的一些图像处理函数。另外 MATLAB 提供了对多种图像文件格式的读写和显示,这使得 MATLAB 在集成环境中进行图像处理的实验模拟非常方便。MATLAB 具有很强的

7、绘图功能, 可以方便地实现一维和二维函数或数据的可视化显示。例如对于图象处理中常用的二维高斯函数, 只用下面三条语句即可绘出时的三维图形, 如图 1 所示。程序如下:x,y=meshgrid(-4:0.2:4); %产生平面区域内的网格坐标矩阵z=exp(-x.*x-y.*y)/2)/(2*pi); %给出函数zmesh(x,y,z) %绘制三维网格图如图1运行结果如图1所示。图 1 三维图形五、应用 MATLAB 工具箱进行图像分析处理1、 加法运算图像相加一般用于对同一场景的多幅图像求平均效果,以便有效地降低具有叠加性质的随机噪声。直接采集的图像品质一般都较好,不需要进行加法运算处理,但是

8、对于那些经过长距离模拟通信方式传送的图像(如卫星图像),这种处理是必不可少的。如果要进行两幅图像的加法,或者给一幅图像加上一个常数,可以调用 imadd 函数来实现。imadd函数将某一幅输入图像的每一个像素值与另一幅图像相应的像素值相加,返回相应的像素4值之和作为输入图像。imadd 函数的调用格式可参考图像处理的工具箱。下面的程序可将两幅图像叠加在一起,叠加效果如图 4 所示。程序如下:imshow(rice.png); %从图像文件中读取rice图像数据imshow(cameraman.tif); %从图像文件中读取cameraman图像数据I=imread(rice.png); %把r

9、ice图像赋给IJ=imread(cameraman.tif); %cameraman赋给JK=imadd(I,J,uint16); %进行两图像的加法运算imshow(K,) %显示两图像相加后的图像如图4所示运行结果如图4所示。图2 rice原图 图3 cameraman原图图4 rice图像和cameraman图像相加后的图像小结:图2为rice原图,图3为cameraman原图,MATLAB语言通过调用imadd函数将两幅图巧妙的融为一体得到图4。这不仅起到了美观的效果,也通过对多幅图像求平均效果,可以有效地降低具有叠加性质的随机噪声。5给图像的每一个像素加上一个常数可以使图像的亮度增

10、加。例如以下程序示例的处理效果如图5所示。程序如下:I=imread(trees.tif); %读入图像为trees的图像并赋给IJ=imadd(I,50); %给图像的像素加上一个常数50subplot(1,2,1),imshow(I); %选择12个区中的1号区显示图像Isubplot(1,2,2),imshow(J); %选择12个区中的2 号区显示图像J运行结果如图5示。图5 像素加上常数后的图像与原图像对比图小结:如图5通过两个trees的对比可以看出MATLAB中每一个像素加上一个常数后可以使图像的亮度增加。2、图像的旋转问题图像变换技术是图像处理的重要工具, 常应用于图像压缩、滤

11、波、编码和后续的特征抽取或信息分析过程。MATLAB 提供了常用的变换函数,如 filt2( )与 ifft2( )函数分别实现二维快速傅立叶变换及其逆变换,dct2( )与 idct2( )函数实现离散余弦变换及其逆变换, Randon( 0 与 iradon( )函数实现 Radon 变换与逆 Radon 变换。可通过 imrotate函数来旋转图像。imrotate 函数主要包括两个参数:需要旋转的图像和旋转的角度。如果制定一个正的旋转角,那么 imrotate 函数将用指定的插值方法和旋转角度将图像逆时针旋转:如果指定一个负值,那么将按顺时针方向旋转。如果命令中没有指定插补方法,则函数

12、采用最近的临插补方法。例如将 matlab 图库中的moon.tif旋转 90。程序如下:I=imread(moon.tif); %读入图名为moon的图片赋给I接受J=imrotate(I,90); %把I接收的图像旋转九十度imshow(I) %显示moon的图像如图46figure %创建图形窗口imshow(J) %显示旋转后J 的图像如图5运行结果如图7 所示。图6 原图 图7 旋转九十度的图像后的图像小结:MATLAB语言中通过调用imrotate函数来实现图像旋转,对比图6、图7,可见图7逆时针旋转了90。3、用直方图均衡实现图像增强直方图均衡化是利用直方图的统计数据进行直方图的

13、修改,能有效的处理原始图像的直方图分布情况,使各灰度级具有均匀的概率分布,通过调整图像灰度值的动态范围,自动地增加整个图像的对比度,以致图像具有较大的反差,大部分细节比较清晰。当图像对比度较低,即灰度直方图分布区间较窄时,可用直方图均衡实现灰度分布区间展宽而达到图像增强的效果。图像直方图均衡化具体代码为:I=imread(cameraman.Tif) %读入图像文件J,T=histeq(I) %对图像进行均衡化,并提取转换曲线结构figure %新建图形subplot (2,2,1) %选择22区中的1号区imhist(I) %调用函数画出原始图像柱状图title(原始图像的柱状图 ) %标题为原始图像的柱状图subplot(2,2,2) %选择2 2区中的2号区imshow(J) %显示均衡化后的图像title (均

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号