实验七 图像的代数运算.doc_第1页
实验七 图像的代数运算.doc_第2页
实验七 图像的代数运算.doc_第3页
实验七 图像的代数运算.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

实验七 图像的代数运算一、实验目的1、理解数字图像处理中代数运算的基本作用;2、掌握在MTLAB中对图像进行代数运算的方法。二、实验原理代数运算是指对两幅输入图像进行点对点的加、减、乘或除运算而得到输出图像的运算。对于相加和相乘的情形,可能不止有两幅图像参加运算。在一般情况下,输入情况之一可能为常数。四种图像处理代数运算的数学表达式如下:其中A(x,y)和B(x,y)为输入图像,而C(x,y)为输出图像。还可以通过适当的组合形成涉及几幅图像的复合代数运算方程。在MATLAB中,我们可以用函数imread很容易的得到数字图像的图像数据矩阵(即A(x,y)和B(x,y)),有了这些矩阵后我们只要适当地设计代数运算的形式并写出方程,就可以得到一个输出图像的矩阵(即C(x,y))。图像相加的一个重要应用是对同一场景的多幅图像求平均值。这点被经常用来有效的降低加性随机噪声的影响。在求平均值的过程中,图像的静止部分不会改变,而对每一幅图像,各不相同的噪声图案则累积很慢。对M幅图像进行平均,使图像中每一点的平方信噪比提高了M倍,幅度信噪比是功率信噪比的平方根,因此达到了提高信噪比降低噪声的作用。本次实验要求完成人为的往一幅图像中加入随机噪声,并通过多次相加求平均的方法降低所加入的噪声对图像的影响。在MATLAB中提供了给图像加入噪声的函数imnoise,imnoise的语法格式为J = imnoise(I, type)J = imnoise(I, type, parameters)其中J = imnoise(I, type)返回对原始图像I添加典型噪声的有噪图像J。参数type和parameters用于确定噪声的类型和相应的参数。下面的命令是对图像eight.tif分别加入高斯噪声、椒盐噪声和乘性噪声,其结果如图所示:例:I = imread(eight.tif);J1 = imnoise(I, gaussian, 0, 0.02);J2 = imnoise(I, salt & pepper, 0.02);J3 = imnoise(I, speckle, 0.02);subplot(2,2,1), imshow(I), title(原图像);subplot(2,2,2), imshow(J1), title(加高斯噪声);subplot(2,2,3), imshow(J2), title(加椒盐噪声);subplot(2,2,4), imshow(J3), title(加乘性噪声);在MATLAB程序语言中,分号的用处为不显示程序运算中的中间结果,这在一定程度上使系统运算的效率增高,因此在不需知道中间结果的情况下,可以用分号作为一个句子的结尾,而不显示该句运算的中间结果。代数运算中需要有若干幅带有随机噪声的图像数据,在这里我们运用MATLAB中的FOR循环语句来完成产生多幅带有噪声的图像数据及将这些图像数据进行相加运算。MATLAB中FOR END循环的用法如下:for end循环这种循环允许一组命令以固定的和预定的次数重复,循环的一般形式为:for variable = expression statementsend举例如下:例:%一个简单的for循环的例子。for i=1:10; y(i)=i;end;y %显示y的结果y = 1 2 3 4 5 6 7 8 9 10为了得到最大的速度,在for循环被执行之前,应预先分配数组。例如前面所考虑的这一种情况,在for循环内每执行一次命令,向量y的维数增加1。这样就使得MATLAB每通过一次循环对y分配更多的内存,这当然要花费一定的时间。为了可以不执行这个步骤,for循环的例子应重写为:y=zeros(1,10);for i=1:10; y(i)=i;end;y另外,再次强调一下,在实际的对图像处理过程中,由于我们读出的图像数据一般是unit8型,而在MATLAB的矩阵运算中要求所有的运算变量为double型(双精度型)。因此读出的图像数据不能直接进行相加求平均,因此必须先使用一个函数将图像数据转换成双精度型数据,然后再进行相加运算。运算完成后,在图像显示前再将图像数据转换为uint8型。MATLAB中提供了这样的函数:im2double,uint8,double等函数。作为一个示例,现将刚刚显示的加有噪声的图像进行相加求平均以消除图像的噪声。在图像中我们给图像加的是均值为0,方差为0.02的高斯噪声,将图像相加了一百遍,再求其平均值。程序如下:%例图像加噪声再通过多次相加求平均的方法祛除噪声I, M = imread(eight.tif);J = imnoise(I, gaussian, 0, 0.02);subplot(1,2,1), imshow(I, M), title(原图像);subplot(1,2,2), imshow(J, M), title(加噪声后图像);m, n = size(I);K = zeros(m, n);for i = 1 : 100 J = imnoise(I, gaussian, 0, 0.02); J1 = im2double(J); K = K + J1;endK = K / 100; %求图像的平均figure; imshow(K), title(相加求平均后的图像);三、实验内容及要求1、 读出girl.bmp这幅图像(或其它灰度图像),并显示;2、 给原图像加入高斯噪声、椒盐噪声、乘性噪声后并与原图显示在同一图像对话框中,观察比较几幅图像的特点结果。改变噪声参数,再比较结果。3、 运用for循环,分别将20幅、100幅和500幅加有随机高斯噪声的图像进行相加并求其平均值,将几种求平均后的图像显示在同一图像对话框中,比较其结果。4、 运用for循环,分别将10

温馨提示

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

评论

0/150

提交评论