图像算术运算.docx

上传人:b****6 文档编号:3088272 上传时间:2022-11-17 格式:DOCX 页数:8 大小:278.63KB
下载 相关 举报
图像算术运算.docx_第1页
第1页 / 共8页
图像算术运算.docx_第2页
第2页 / 共8页
图像算术运算.docx_第3页
第3页 / 共8页
图像算术运算.docx_第4页
第4页 / 共8页
图像算术运算.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

图像算术运算.docx

《图像算术运算.docx》由会员分享,可在线阅读,更多相关《图像算术运算.docx(8页珍藏版)》请在冰豆网上搜索。

图像算术运算.docx

图像算术运算

第1章相关知识

1.1设计平台

MATLAB提供了2O类图像处理函数,涵盖了图像处理包括近期研究成果在内的几乎所有的技术方法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。

这些函数按功能可分为图像显示、图像文件I/O、图像算术运算、几何变换、图像登记、像素值与统计、图像分析、图像增强、线性滤波、线性二元滤波设计、图像去模糊、图像变换、邻域与块处理、灰度与二值图像的形态学运算、结构元素创建与处理、基于边缘的处理、色彩映射表操作、色彩空间变换及图像类型与类型转换

Maflab数字图像处理工具箱函数包括以下几类:

(1)图像显示函数;

(2)图像文件输入、输出函数;(3)图像几何操作函数;(4)图像像素值及统计函数;(5)图像分析函数;(6)图像增强函数;(7)线性滤波函数;(8)二维线性滤波器设计函数;(9)图像变换函数;(10)图像邻域及块操作函数;(11)二值图像操作函数;(12)基于区域的图像处理函数;(13)颜色图操作函数;(14)颜色空间转换函数;(15)图像类型和类型转换函数。

图像处理并不仅限于对图像进行增强、复原和编码,还要对同乡进行分析,图像分析旨在对图像进行描述,即用一组数或符号表征图像中目标区的特征、性质和相互间的关系,为模式识别提供基础。

描述一般针对图像或景物中的特定区域或目标。

开运算通常用来消除小对象物,在纤细点处分离物体,平滑较大物体的边界的同时不明显改变其面积。

图像的算术运算是两幅输入图像之间进行点对点的加、减、乘、除运算后得到输出图像的过程。

设输入图像为A(x,y)、B(x,y),输出图像为C(x,y),则图像的代数运算有如下四种形式:

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)=A(x,y)÷B(x,y)

图像的算术运算在图像处理中有着广泛的应用,它除了可以实现自身所需的算术操作,还能为许多复杂的图像处理提供准备。

例如,图像减法就可以用来检测同一场景或物体生成的两幅或多幅图像的误差。

我们可以使用MATLAB基本算术符(+、-、×、÷等)来执行图像的算术操作,但是在此之前必须将图像转换为适合进行基本操作的双精度类型。

图像处理工具箱包含了一个能实现所有数值数据的算术操作的函数集合。

列举如下:

函数名

功能描述

Imabsdiif

两幅图像的绝对差值

Imadd

两个图像的加法

imcomplment

补足一幅图像

imdivide

两个图像的除法

imlincomb

计算两幅图像的线形组合

lmmultiply

两个图像的乘法

Imsubtract

两个图像的减法

使用图像工具箱中的图像代数运算函数无需再进行数据类型间的转换,这些函数能够接受uint8和uintl6数据,并返回相同格式的图像结果。

图像的算术运算函数使用以下截取规则使运算结果符合数据范围的要求:

超出数据范围的整型数据将被截取为数据范围的极值,分数结果将被四舍五入。

例如,如果数据类型是uint8,那么大于255的结果(包括无穷大inf)将被设置为255。

无论进行哪一种代数运算都要保证两幅输入图像的大小相等,且类型相同。

 

第2章课程设计分析

2.1图像的加法

MATLAB中调用imadd函数实现图像相加,格式如下:

Z=imadd(X,Y);其中Z=X+Y。

2.2图像的减法

图像减法也称为差分方法,MATLAB中调用imsubtract函数实现图像相减。

调用格式如下:

Z=imsubtract(X,Y);其中Z=X-Y。

2.3图像的乘法

两幅图像进行乘法运算可以实现掩模操作,即屏蔽掉图像的某些部分。

一幅图像乘以一个常数通常被称为缩放。

如果使用的缩放因数大于1,那么将增强图像的亮度,如果因数小于1则会使图像变暗。

MATLAB中调用immultiply函数实现两幅图像相乘。

调用格式如下:

Z=immultiply(X,Y);其中Z=X×Y。

2.4图像的除法

除法运算可用于校正成像设备的非线性影响。

MATLAB中调用imdivide函数进行两幅图像相除。

调用格式如下:

Z=imdivide(X,Y),其中Z=X÷Y。

2.5图像四则运算

因对uint8、uintl6数据,每步运算都要进行数据截取,将会减少输出图像的信息量。

图像四则运算较好的办法是使用函数imlincomb。

该函数按双精度执行所有代数运算操作,仅对最后的输出结果进行截取,该函数的调用格式如下:

Z=imlincomb(A,X,B,Y,C),其中,Z=A×X+B×Y+C

Z=imlincomb(A,X,C),其中:

Z=A×X+C

Z=imlincomb(A,X,B,Y),其中:

Z=A×X+B×Y

 

第3章仿真及结果分析

3.1图像的加法

代码:

I=imread('rice.png');

J=imread('cameraman.tif');

K=imadd(I,J);

subplot(2,2,1);imshow(I);

subplot(2,2,2);imshow(J);

subplot(2,2,3);imshow(K);

运行结果:

图3.1图像叠加

两幅图像的像素值相加时产生的结果很可能超过图像数据类型所支持的最大值,尤其对于uint8类型的图像,溢出情况最为常见。

当数据值发生溢出时,imadd函数将数据截取为数据类型所支持的最大值,这种截取效果称之为饱和。

为了避免出现饱和现象,在进行加法计算前最好将图像转换为一种数据范围较宽的数据类型。

例如,在加法操作前将uint8图像转换为uint16类型。

3.2图像的减法

代码:

rice=imread('E:

\\w.png');

background=imopen(rice,strel('disk',20));

rice2=imsubtract(rice,background);

subplot(1,2,1),imshow(rice);

subplot(1,2,2),imshow(rice2);

运行结果:

图3.2减去不均匀背景减法

操作有时会导致某些像素值变为一个负数,对于uint8或uint16类型的数据,如果发生这种情况,那么imsubtract函数自动将这些负数截取为0。

为了避免差值产生负值,同时避免像素值运算结果之间产生差异,可以调用函数imabsdiff。

imabsdiff将计算两幅图像相应像素差值的绝对值,因而返回结果不会产生负数。

 

3.3图像的乘法

代码:

I=imread(''E:

\\x.tif');

J=immultiply(I,1.2);

K=immultiply(I,0.6);

subplot(1,3,1),imshow(I);

subplot(1,3,2),imshow(J);

subplot(1,3,3),imshow(K);

运行结果:

图3.3象素值缩放

图像的乘法操作一般都会发生溢出现象。

Immultiply函数将溢出的数据截取为数据类型的最大值。

为了避免产生溢出现象,可以在执行乘法操作之前将图像转换为一种数据范围较大的图像类型

 

3.4图像的除法

代码:

rice=imread(''E:

\\d.png');

I=double(rice);

J=0.73*I+100;

Ip=imdivide(I,J);

subplot(2,2,1),imshow(uint8(I));

subplot(2,2,3),imshow(uint8(J));

subplot(2,2,4),imshow(uint8(Ip),[]);

运行结果:

图3.4图像除法运算

两幅图除法运算可用于校正成像设备的非线性影响,这在特殊形态的图像(如断层扫描等医学图像)处理中常常用到。

图像除法也可以用来检测像间的区别,但是除法操作给出的是相应像素值的变化比率,而不是每个像素的绝对差异,因而图像除法也称为比率变换

 

3.5图像的四则运算

代码:

I1=imread('rice.png');

I2=imread('cameraman.tif');

%K=imdivide(imadd(I1,I2),2);

K=imlincomb(0.5,I1,0.5,I2);

subplot(2,2,1),subimage(I1);

subplot(2,2,2),subimage(I2);

subplot(2,2,3),subimage(K);

运行结果:

图3.5计算两幅图像的平均值

执行图像四则运算操作较好的一个办法就是使用函数imlincomb。

函数imlincomb按照双精度执行所有代数运算操作,而且仅对最好的输出结果进行截取

 

结论

获得的图像可能会因为各种原因而被污染,产生噪声。

常见的图像噪声主要有加性噪声、乘性噪声和量化噪声等。

噪声并不仅限于人眼所见的失真,有些噪声只针对某些具体的图像处理过程产生。

影响。

图像中的噪声往往和正常信号交织在一起,尤其是乘性噪声,如果处理不当,就会破坏图像本身的细节,如会使线条、边界等变得模糊不清。

MATLAB为图像处理提供了一种简单、快捷的方法,大大提高了图像处理的效率,提升了图像处理的效果。

只需掌握基本的编程基础就可以进行MATLAB程序的编写,并运用到图像处理的各个方面。

Matlab具有强大、高效的矩阵和数组运算功能。

语法规则与一般的高级语言类似,一个稍有编程基础的人能很快熟悉掌握。

语言简洁紧凑,使用灵活,程序书写形式自由。

而且库函数十分丰富,避免了繁杂的子程序编程任务。

向用户提供各种方便的绘图功能。

提供了图像处理工具箱、数字信号处理工具箱、小波工具箱等各种功能强大的工具箱。

集成了各种变换函数,不仅方便了研究人员,而且使源程序简洁明了、易实现。

 

参考文献

[1]张汗灵.MATLAB在图像处理中的应用[M].北京:

清华大学出版社,2008:

10-30

[2]王家文.MATLAB6.5图形图像处理[M].北京:

清华大学出版社,2005:

12-20

[3]王晓丹.基于MATLAB的系统分析与设计[M].西安:

西安电子科技大学出版社,2000:

30-40

[4]余成波.数字图像处理及MATLAB实现[M].重庆:

重庆大学出版社,2003:

50-60

[文档可能无法思考全面,请浏览后下载,另外祝您生活愉快,工作顺利,万事如意!

]

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 企业管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1