文档介绍:第九讲图像运算(一)
【目录】
一、图像运算的基本形式 1
1、点运算 2
2、领域运算 2
3、并行运算 3
4、串行运算 3
5、迭代运算 3
6、窗口运算 3
7、模板运算 4
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、模板运算
对特定形状的区域进行某种运算方式叫模板运算。
在两幅或多幅图像之间产生的运算叫帧运算。
二、图像的点运算
1、概述
点运算也称为对比度增强和拉伸、灰度变换,是一种通过对图像中的每个像素值进行计算,从而改善图像显示效果的操作。点运算常用于改变图像的灰度范围及分布,是图像数字化及图像显示的重要工具。在真正进行图像处理之前,有时可以用点运算来克服图像数字化设备的局限性。典型的点运算应用包括:
●光度学标定:通过对图像传感器的非线性特性作出补偿来反映某些物理特性,例如,光照强度、光密度等;
●对比度增强:调整图像的亮度、对比度,以便观察;
●显示标定:利用点运算使得图像在显示时能够突出所有用户感兴趣的特征;
●图像分割:为图像添加轮廓线,通常被用来辅助后续运算中的边界检测;
●图像裁剪:将输出图像的灰度级限制在可用范围内。
点运算是像素的逐点运算,它将输入图像映射为输出图像,输出图像每个像素点的灰度值仅由对应的输入像素点的灰度值决定。点运算不会改变图像内像素点之间的空间关系。设输入图像为A(x,y),输出图像为B(x,y),则点运算可表示为
B(x,y)=f[A(x,y)]
点运算完全由灰度映射函数f决定。根据f的不同可以将图像的点运算分为线性点运算和非线性点运算两种。
2、线性点运算
线性点运算是指灰度变换函数为线性函数时的运算。用表示输入点的灰度值,表示相应输出点的灰度值,则函数的形式如下:
见下图所示:
当a>1时,输出图像的对比度会增大;
当a<l时,输出图像的对比度会减小;
当a=1,b=0时,输出图像就是输入图像的简单复制;
当a=1,b≠0时,输出图像在整体效果上比输入图像要明亮或灰暗。
当a=-1,b=0时,产生负象
【例】线性点运算
rice=imread('');
I=double(rice);
J=I*+60;
rice2=uint8(J);
subplot(1,2,1),imshow(rice);
subplot(1,2,2),imshow(rice2);
【例】负象
rice=imread('');
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