- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验七图像及代数运算
实验七 图像的代数运算
一、实验目的
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
statements
end
举例如下:
例:
%一个简单的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的高斯噪声,将图像相加了一百遍,再求其平均值。程序如下:
%例图像加噪声再通过多次相加求
您可能关注的文档
- 实验7聚合物及热重分析TGA.doc
- 实验8指针参考结果解析.doc
- 实验8存储论问题及编程实现.doc
- 实验9磁带录像机原理使用及保养.doc
- 实验9脉冲波形参数及自动测试系统实验报告091228.doc
- 实验一8位加法器及设计.doc
- 实验一不可逆单闭环直流调速系统静特性及研究.doc
- 实验一MATLAB方法实现信号波形和微分方程及建立及求解.doc
- 实验一信号及基本操作及处理附思考题程序.doc
- 实验一典型环节及动态特性.doc
- 2025年一级建造师考试《水利水电工程管理与实务》冲刺必刷卷.docx
- 2025年一级建造师考试《水利水电工程管理与实务》逆袭破题卷1.docx
- 2025年一级建造师考试《市政工程管理与实务》冲刺必刷卷 .docx
- 2025年一级造价工程师考试《建设工程计价》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价管理》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(安装专业)》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(土建专业)》预习卷.docx
- 2025年中级会计考试《会计实务》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》全真模拟卷.docx
文档评论(0)