数字图像处理论文_第1页
数字图像处理论文_第2页
数字图像处理论文_第3页
数字图像处理论文_第4页
数字图像处理论文_第5页
免费预览已结束,剩余11页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、所属课程名称分院专业班级学号学生姓名指导教师存档资料成绩:优华东交通大学理工学院课程设计报告书数字图像处理期末论文电信分院14计科20140210440214习俊2016年12月13日摘要数字图像处理是用计算机对信息进行处理的一门技术主要是为了修改图形,改善图像质量,或是从图像书是起有效信息,还有利用数字图像处理可网图像进行体积压缩,便于传输和保存。本文论述了用Matla编程对数字图像进行佟像运算的基本方法。图像运算涵盖了MATLAB程序设计、囹象点运算、代数运算、几何运算等基本知识及其应用(点运算是图象处理的一个重要运算)。以及对图像加入噪声图像缩放和图像旋转。关键词图像点运算;代数运算;几

2、何运算;图像缩放;图像旋转目录绪论第一章图像运算2.1 点运算2.2 弋数运算2.3 几何运算第二章程序设计与调试结束语参考文献绪论早期的计算机无论在计算速度或存储容量方面,难于满足对庞大图像据进行实时处理的要求。财计算械件技术及数字化技术的发展,计算机、内存及外围设备的价格急剧下降而其性能却有了大幅度的提高。图像信息是人类获得外界彳意的主要来源,数字图像处理支术越来越多的应用于人们日常工作、学习和生活中。和传统图像处理相比,它具有精度高、再观性好通用性和灵活性强密点。在近代科学研究、军事技术、工农业生产、医学、气象及天文学等领域中也!到了广泛应用。近几年来,随着计算机和价相关领域研究的迅速发

3、展,科学计算可视化、多媒体技术等研究和M的兴起,数字图像处理从个专门领域的学科,变成了1种新型的科学研究和人搬面的工具。数字时作为一门新兴技术,它是二十一世纪五十年代数字计算机侬到相当水平后开拓出来的计算机应用新领域,它把图像转换成数据矩阵存放于说机中,并进行滤波、增强、删除等处理,包括图像输入输出技术、图像分析、X换于处理技术以及图像识别和特征提取等方面。六十到七十年代数字处理技术的能和方法更加完善,其准确性、灵活性棚用性逐步提高。在日常生皿,电脑人像艺术,电视中的特殊效果,自罚货机钞票的识别,邮政编码的自动识别口利用指纹、虹膜、面部等特征的身份识别等均是图像处理的广泛应用。进行数字图像处理

4、时主要诙数字图像点运算处理,针对图像的像素进行加、减、乘、除等运算,有效&改变了图像的直方图分布。第一章图像运算按图像处理运算的数学特征图像基本运算可分为:点运算、代数运算和几何运算1.1 点运算点运算是指对一幅图像中每个像素点的灰度值进行计算物法。点运算通过对图像中每个像素值进行环料改善图像显示效果的操作也称对比度增强,对比度拉伸,灰度嗽,可以表示为B(x,y)=f(A(x,y)进行逐点运算,输入映射为输出,不改变图像像蒯空间关系。应用点运算,将输入图像转换为在每度级上都有相同的像素点数的输出四(输出直方图是平的?均衡后,每一灰度级的像素个数为AdDm。由于式HaJ-(D)7fi(D)-的分

5、子分母是同一自变量如果它们仅差L比例常数,也就是说分母是分子的若干倍,f(D)=DmH(D)例如Dm/Ao倍,即A。,则上式四(D)部分被约掉。仅剩下也无关的常数项。1.2 代数运算代数运算是指将两幅或多幅图像通过对应像素之间的加碱、乘、除运算得至酎出图像的方法。代数运算是指对两幅输入图像1行点对点的加、减、乘或除运算而得到输出图象的运算。对于相加和相乘的情形,可能不止有两幅图像参加运算。在T殳情况下,输入情况之一可能为常数。四不图像处理代数运算的数学表达式如下:C(x,y)=A(x,y)+B(x,y)C(x,y)=A(x,y)-B(x,y)C(x,y)=A(x,y)*B(x,y)C(x,y)

6、=A(x,y)/B(x,y)其中A(x,yW口B(x,y内输入图像,而C(x,y也输出图像。还可以通过适当的组邰成涉及几幅图像的复合代数运算f程。在MATLAB中,可以用函数简单的得到数字图像的图像数据矩阵(EA(x,y)?口B(x,y),有了这些矩新只要适当的设计代娄运算的形式并写出方程,就可以得至卜个输出图像的矩阵(既(x,y)图像相加的一个重要应用是对同一场景的多幅稼求平均伽这点被经常用来例的降低加生随机噪声的影响。1.3 几何运算几何运算就是改变蒯象中物体对象(像素)之间的空间关系。从变换性质来分,几何变换可以分为图像勺位置变换(平移、镜像、旋转)形状变换(放大、缩小)以及图像的复合变

7、换等。几何运算可改变图像中各物体之间的空间关系。这种运算可以被看成是将物体在图像内移动。一个几何运算楔两个独立的算法。首先,需要一个算法来定义完可变换本身,用它来描述每彳像素如何从其初始位置移动”到终止位置,即每个像素的运动”。同时,还需要一个用于灰度插值的算法,这是因为,在一股情况下,输入图像的位置坐树x,y历整数,而输出图像的位置坐标为非修,反过来也如此。因此插值就是对变换之后的整数坐标位置的像素值进行估计MATLAB提供了一些函数实现这些功能。插值是常用的数学运算,通常是利用曲线拟合的方法,通过离散的采样点建立一个连续函数来逼近真实的懒,用这个重建的函数便可求出任意位置的函数值。MATL

8、AB图像处理工具箱中的函淅resiz常用下述的3种方法对图像进行摘宜缩放。(女跳不指询值方法,则默认为最邻近插值法。)最近邻插值是最简便的插值,在这种算法中,每一个插值输出像素的值就是在输入图像中与其最临近的采株的值。最近邻插值5具箱函数默认间的插值方法,而且这种插值方法的运算量楠小。当图像中包含像素之间灰度级曲的细彳愉构时,最近邻插值法会在图像中产火工的痕迹。双线性插值法白输出像素值是它在输入图像节也领域采样点的平均值,它根据某像素周倬个像素的灰度值在水平和垂直两个方向上对其插值0双三次插值的插值核为已次函数,其插值邻域的大小3M。它的插值效果比较好,但相应的计算量也比较大第二章程序设计与调

9、试为了完成人为的往图像巧入噪声,并通过多次相加求平均的方法消除所口入的噪声。WIATLAB中提供了给图像加入噪声的函数imnoiseimnois的语法格式为J=imnoise(I,type)J=imnoise(I,type,parameters)其中J=imnoise(I,typeH又t原始图像添加典型噪声的飙图像J。参数typ守口paramete用于确定噪声的类型和相应的参数。例:对图像ight.t分别加入高斯噪声、椒盐噪声和乘性噪声:执行该程序的命令:I=imread(eight.tif);J1=imnoise(I,gaussian,0,0.02);J2=imnoise(I,salt&pe

10、pper,0.02);J3=imnoise(I,speckle,0.02);subplot(2,2,1),imshow(I)(tiffiH像);subplot(2,2,2),imshow(J1)Ctit喻噪声);subplot(2,2,3),imshow(J2)CtMWik噪声);subplot(2,2,4),imshow(J3)Ctit喙性噪声);效果图像如下:原图像加高斯噪声加椒盐噪声加乘性噪声在MATLAB程序语言中,分号的用处为不显示程序运算中的中间结果,这在一定程度上使系统运算的效率增S,因此在不需知道中间结果的情况下,可以用分号作为一个句子的结尾,而不显族句运算的中间结果。代数运算

11、中需要有若厮带有随机噪声的!像数据,在这里我们运州ATLAB中的FOR环语句来完成产生多幅带有噪声的图像数据及将这些图像数据进行相加运算。这种循环允许一组命令以固定的和预定的次数重复,循不的一般形式为:forvariable=expressionstatementsend例:(一个简单的or循环)fori=1:10;y(i尸i;end;y%显示y的结果y=12345678g10为了得到最大的速度,为r循环被执行之前,应预先分配数组。例如前面所考虑的第一种情况,在for循环内每执行一次命令,向量y的维数增加1。这样就使得MATLAB每通过一次循环对分配更多的内存这当然要花费一定的时间在实际的对图

12、像处理过程中,由于我们读出的图像舶it斓,而色ATLAB的矩阵运算中要求所有的运算变量为oubl缨(双精度型)。所以读出的图像数据不能直接进行相加求平均,因此必须使用一个函数将图像数据转换成双精度型数据。MATLAB中提供了这样的通3如im2doubl函数,其语祛格式为:I2=im2double(I1)其中I1是输入的图像效据,它可能是uint城uintl配数据,通过函数的变什输出I2为一个double,这梯W图像数遍可以方便的1行相加等代数作为一个示例,现将刚刚显示的加有噪声的图像进行相加求平均以消除图像的噪声。在图像中我们给图像加的是均值朔方差次.02勺高斯噪声,将图像相加了一百遍,再求其

13、平均值。例:图像加噪声再通过多次相加求平均的方法祛除噪声程序如下:I=imread(eight.tif);J=imnoise(I,gaussian,0,0.02);subplot(1,2,1),imshow(I)(teH像);subplot(1,2,2),imshow(J)(t加噪声后图像);K=zeros(242,308);fori=1:100;J=imnoise(I,gaussian,0,0.02);J1=im2double(J);K=K+J1;end;K=K/100;%求图像的平均figure;imshow(K);ti(ei力口求平均后的图像);效果图如下:原图像加噪声后图像Imresi

14、z函数的语法格式为:B=imresize(A,m,method)这里参数metho娟于指定插值的方法,可选用的值为nearest(最邻近法),bilinear(双线性插值),bicubic(双三次插值),默认为nearestB=imresize(A,m,methOd回原图A的m倍放大的图像m小于1时效果是缩小)。例:(将图像放大)执行该程序的命令:I=imread(eight.tif);J=imresize(I,1.25);imshow(I),titie原图像)figure,imshow(J),tl敢大后的H像)该程序的效果图如下:原图象放大后图像在工具箱中的函数mrotatH用上述三种方法对

15、图像进行插值频,默认向S值方法也是最邻近插值法。Imrotat的语法格式为:B=imrotate(A,angle,method)函数imrotate寸图像进行旋转,参数method于指定插值的方法,,可选用的值为nearest最邻近法),bilinear(双线性插值),bicubic(双三次插值),默认为nearest一般说来旋转后的图像会比陶大,超出原图部分值为。例:(将图像旋转)执行该程序的命令:I=imread(eight.tif);J=imrotate(I,30,bilinear);imshow(I);title原图像)figure,imshow(J),t(f毓转后的H像)该程序效果图

16、如下:原图像旋转后图像结束语本文主要介绍了图像的基本运算包括点运算、代数运算和几何运算,举了柜应的Matla位例,并对其相应的应用做了介绍。比如说代数运算可用于去除图像的噪声等等。其中的几何运算包括两个步骤,一个是空间变换,一个是重采样。然后简单介绍了下常用的三种灰度插值方*最近邻法、双线性插值冰口三次内插法,比较了优缺点。最后演示了图像的缩放和图像的旋转。充分体现了在Matla附对数字图像用图象运算进行处理更方便、精度擅和灵活性好。参考文献1冈萨雷斯美).阮秋琦,阮宇智译.数字图像处理(第二版)M.北京:电子工业出K社,2009.2冈萨雷斯(美).阮秋琦阮宇智译数字图像处理(MATLAB版)M.北京:电子工业出版社2009.3张志71.MATLAB教程M.北京北京航空航天大学欣社,20094吴恩华柳有权基于图形处嘱(GPU)的通用计算J.计算机辅助设计与图形学学报,2004,16(5)601-612.5刘耀林,邱飞岳,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论