第04讲 图像运算一.docx
- 文档编号:2825432
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:24
- 大小:222.93KB
第04讲 图像运算一.docx
《第04讲 图像运算一.docx》由会员分享,可在线阅读,更多相关《第04讲 图像运算一.docx(24页珍藏版)》请在冰豆网上搜索。
第04讲图像运算一
第九讲图像运算
(一)
【目录】
一、图像运算的基本形式1
1、点运算2
2、领域运算2
3、并行运算3
4、串行运算3
5、迭代运算3
6、窗口运算3
7、模板运算4
8.帧运算4
二、图像的点运算4
1、概述4
2、线性点运算5
3、非线性点运算6
三、图像的代数运算7
1、概述7
2、图像的加法8
3、图像的减法9
4、图像的乘法10
5、图像的除法11
6、图像四则运算11
四、图像的几何运算12
1、概述12
2、象素坐标系统13
3、空间坐标系统14
4、灰度级插值15
5、简单的空间变换16
五、仿射变换18
【正文】
一、图像运算的基本形式
顺向扫描逆向扫描
1、点运算
在对图像各象素进行处理时,只输入该象素本身灰度的运算称为点运算。
2、领域运算
在对图像各象素进行处理时,不仅输入该象素本身的灰度,还要输入以该象素为中心的某些局部区域中的一些象素的灰度进行运算的方式叫领域运算。
3、并行运算
并行运算指的是对图像上各象素同时进行相同处理的运算方式。
点运算由于各象素的处理与其他象素无关,因为不论采用顺向扫描还是逆向扫描,结果是一样的,所以点运算可以采用并行运算。
对于领域运算,上图可以采用并行运算。
下图处理用到前处理的结果,所以不能采用并行处理方式。
4、串行运算
指按照顺序对逐个象素进行处理的方式。
上图即是。
5、迭代运算
反复多次进行相同处理的运算,称为迭代运算。
6、窗口运算
为减少运算时间,常对图像的某一部分进行的运算叫窗口运算。
7、模板运算
对特定形状的区域进行某种运算方式叫模板运算。
8.帧运算
在两幅或多幅图像之间产生的运算叫帧运算。
二、图像的点运算
1、概述
点运算也称为对比度增强和拉伸、灰度变换,是一种通过对图像中的每个像素值进行计算,从而改善图像显示效果的操作。
点运算常用于改变图像的灰度范围及分布,是图像数字化及图像显示的重要工具。
在真正进行图像处理之前,有时可以用点运算来克服图像数字化设备的局限性。
典型的点运算应用包括:
●光度学标定:
通过对图像传感器的非线性特性作出补偿来反映某些物理特性,例如,光照强度、光密度等;
●对比度增强:
调整图像的亮度、对比度,以便观察;
●显示标定:
利用点运算使得图像在显示时能够突出所有用户感兴趣的特征;
●图像分割:
为图像添加轮廓线,通常被用来辅助后续运算中的边界检测;
●图像裁剪:
将输出图像的灰度级限制在可用范围内。
点运算是像素的逐点运算,它将输入图像映射为输出图像,输出图像每个像素点的灰度值仅由对应的输入像素点的灰度值决定。
点运算不会改变图像内像素点之间的空间关系。
设输入图像为A(x,y),输出图像为B(x,y),则点运算可表示为
B(x,y)=f[A(x,y)]
点运算完全由灰度映射函数f决定。
根据f的不同可以将图像的点运算分为线性点运算和非线性点运算两种。
2、线性点运算
线性点运算是指灰度变换函数
为线性函数时的运算。
用
表示输入点的灰度值,
表示相应输出点的灰度值,则函数
的形式如下:
见下图所示:
当a>1时,输出图像的对比度会增大;
当a 当a=1,b=0时,输出图像就是输入图像的简单复制; 当a=1,b≠0时,输出图像在整体效果上比输入图像要明亮或灰暗。 当a=-1,b=0时,产生负象 【例】线性点运算 rice=imread('rice.png'); I=double(rice); J=I*0.43+60; rice2=uint8(J); subplot(1,2,1),imshow(rice); subplot(1,2,2),imshow(rice2); 【例】负象 rice=imread('rice.png'); I=double(rice); J=-1*I; subplot(1,2,1),imshow(I,[]); subplot(1,2,2),imshow(J,[]); 3、非线性点运算 非线性点运算对应与非线性的灰度变换函数。 下图是几种典型的非线性点运算。 阈值处理和直方图均匀化,是两种典型的非线性运算,以后介绍。 三、图像的代数运算 1、概述 图像的代数运算是两幅输入图像之间进行点对点的加、减、乘、除运算后得到输出图像的过程。 设输入图像为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、图像的加法 MATLAB中调用imadd函数实现图像相加,格式如下: Z=imadd(X,Y);其中Z=X+Y。 【例】使用加法操作将两幅图像叠加在一起 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); 【例】增加RGB图像的亮度 RGB=imread('onion.png'); RGB2=imadd(RGB,50); subplot(1,2,1),imshow(RGB); subplot(1,2,2),imshow(RGB2); 为了避免出现饱和现象,在进行加法计算前最好将图像转换为一种数据范围较宽的数据类型。 3、图像的减法 图像减法也称为差分方法,MATLAB中调用imsubtract函数实现图像相减。 调用格式如下: Z=imsubtract(X,Y);其中Z=X-Y。 【例】减去不均匀背景 rice=imread('rice.png'); background=imopen(rice,strel('disk',15)); rice2=imsubtract(rice,background); subplot(1,2,1),imshow(rice); subplot(1,2,2),imshow(rice2); 【例】降低RGB图像的亮度 RGB=imread('onion.png'); RGB2=imsubtract(RGB,50); subplot(1,2,1),imshow(RGB); subplot(1,2,2),imshow(RGB2); 4、图像的乘法 两幅图像进行乘法运算可以实现掩模操作,即屏蔽掉图像的某些部分。 一幅图像乘以一个常数通常被称为缩放。 如果使用的缩放因数大于1,那么将增强图像的亮度,如果因数小于1则会使图像变暗。 MATLAB中调用immultiply函数实现两幅图像相乘。 调用格式如下: Z=immultiply(X,Y);其中Z=X×Y。 【例】象素值缩放 I=imread('moon.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); 5、图像的除法 除法运算可用于校正成像设备的非线性影响。 MATLAB中调用imdivide函数进行两幅图像相除。 调用格式如下: Z=imdivide(X,Y),其中Z=X÷Y。 【例】米粒图像除法运算 rice=imread('rice.png'); I=double(rice); J=0.43*I+90; 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),[]); 6、图像四则运算 因对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 【例】计算两幅图像的平均值 CLF 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); 四、图像的几何运算 1、概述 几何运算与点运算不同,可以看成是像素在图像内的移动过程,该移动过程可以改变图像中物体对象(像素)之间的空间关系。 几何运算可以是不受任何限制的,但是通常都需要做出一些限制以保持图像的外观顺序。 完整的几何运算需要由两个算法来实现: 空间变换算法和灰度插值算法。 空间变换主要用来保持图像中曲线的连续性和物体的连通性,一般都采用数学函数形式来描述输入、输出图像相应像素间的空间关系。 空间变换的一般定义为 其中,f表示输入图像,g表示输出图像,坐标(x',y')指的是空间变换后的坐标,要注意这时的坐标已经不是原来的坐标(x,y)了。 a(x,y)和b(x,y)分别是图像的x和y坐标的空间变换函数。 灰度级插值主要是对空间变换后的像素赋予灰度值,使之恢复原位置处的灰度值。 在几何运算中,灰度级插值是必不可少的组成部分,因为图像一般用整数位置处的像素来定义。 而在几何变换中,g(x,y)的灰度值一般由处在非整数坐标上的f(x,y)的值来确定,即g中的一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第04讲 图像运算一 04 图像 运算
![提示](https://static.bdocx.com/images/bang_tan.gif)