第2章 图像处理基本原理_第1页
第2章 图像处理基本原理_第2页
第2章 图像处理基本原理_第3页
第2章 图像处理基本原理_第4页
第2章 图像处理基本原理_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

第2章图像处理基本原理2.1数字图像一般的模拟图像是不能直接用数字计算机来处理的。为使图像能在数字计算机内进行处理,首先必须将各类图像(如照片,图形,X光照片等等)转化为数字图像。所谓将图像转化为数字图像或图像数字化,就是把图像分割成如图2.1所示的称为像素的小区域,每个像素的亮度或灰度值用一个整数来表示。图2.1图像数字化把图像分割成像素的方法可是多种多样的。如图2.2所示。即每个像素所占小区域可以是正方形的,六角形的或三角形的。与之相对应的像素所构成的点阵则分别为正方形网格点阵、正三角形网格与正六角形点阵。上述各像素分割方案中,正方形网格点阵是实际常用图2.2几种图像采样方案的像素分割方案。这种方案虽然存在着任一像素与其相邻像素之间不等距的缺点,如图2.3(a)所示,对一个正方形点阵,若任一像素沿水平和垂直方向上与相邻像素间距为1,则该像素沿斜线方向上的间距为,但由于其像素网格点阵规范,易于在图像输入/输出设备上实现,从而被绝大多数图像采集和处理系统所采用。三角形网格点阵,虽有任一像素与其图2.3邻接像素的间距相邻像素等距的优点,如图2.3(b)所示,但由于其网格点阵不及正方形网格点阵规范,在图像输入/输入设备上较难实现,从而未被广泛采用。下面针对正方形网格点阵分割方案情况,更具体地讨论图像数字化过程。图2.4示意地说明了这一过程,该过程可划分为抽样与量化两个步骤:图2.4图像数字化过程2.1.1抽样抽样就是把在时间上和空间上连续的图像转换成为离散的抽样点即像素集的一种操作。由于图像是一种二维分布的信息,为要对它完成抽样操作,就需要先将二维信号变为一维信号,再对一维信号完成抽样。具体做法是,先沿垂直方向,按一定间隔从上到下顺序地沿水平方向直线扫描的方式,取出各水平行上灰度值的一维扫描线,而后再对该一维扫描线信号按一定间隔抽样得到离散信号。即先沿垂直方向抽样,再沿水平方向抽样两步完成抽样操作。对于运动图像即时间域的连续图像,还需先在时间轴上抽样,即先在时间轴上抽样,再沿画面垂直方向抽样,最后再沿画面水平方向上抽样这样三步完成抽样操作。若抽样结果每行(横向)像素为M个,每列(纵向)像素为N个,则整幅图像大小为M×N个像素。在进行抽样时,抽样点间隔的选取是一个非常重要的问题。它决定了抽样后的图像忠实地反映原图像的程度。或者说,抽样间隔大小的选取要根据图像中包含何种程度的细微浓淡变化来确定。一般来说,图像中细节越多,则抽样间隔应越小。根据一维抽样定理,若一维信号g(t)的最大频率为ω则若用T≤为间隔进行抽样后,则根据抽样结果g(i,T)i=…-1,0,1,…能完全恢复g(t),即 (2.1)上式中2.1.2量化经过抽样,模拟图像已在时间、空间上离散化为像素。但抽样结果所得的像素的灰度值仍是连续量。把抽样后所得的这些连续量表示的像素离散化为整数值的操作叫量化。图2.5(a)示意地说明了量化过程,即若连续灰度值用z来表示,则对于满足zi≤z≤zi+1的z值都量化为整数值qi。qi称为像素的灰度值。z与qi的差称为量化误差。一般每个像素的灰度值量化后用一个字节来表示,即如图2.5(b)所示,把由白—灰—黑的连续变化的灰度值,量化为0~255共256个灰度级。量化后的灰度值,代表了相应的浓淡程度。图2.5量化灰度值与浓淡程度的关系有两种表示方法,一种是由0~255对应于由黑—白,另一种是由0~255对应于由白—黑。在图像处理时,应注意是采用哪种表示方法。对只有黑白二值的二值图像,一般用0表示白,1表示黑。连续灰度值量化为灰度级的具体量化方法有两类,即等间隔量化与非等间隔量化两类。等间隔量化就是简单地把抽样值的灰度范围等间隔地分割并进行量化。对于像素灰度值在黑—白范围内较均匀分布的图像,这种量化方法可以得到量化误差较小的效果。这种量化方法亦称为均匀量化或线性量化。为了减小量化误差,引入了非等间隔量化的方法。其基本思想是对一幅图像中像素灰度值频繁出现的灰度值范围,量化间隔小一些,而对那些像素灰度值极少出现的灰度范围,则量化间隔大一些。也就是说,是根据一幅图像具体的灰度值分布的概率密度函数,按总的量化误差最小的原则来进行量化。应该注意到,图像灰度值分布的概率密度函数是因图而异的,所以不可能找到一个适用于各种不同图像的最佳非等间隔量化方案,因此,在实用上,一般都采用等间隔量化。2.1.3抽样与量化参数的选择一幅图像在抽样时行、列的抽样点数与量化时每个像素量化的级数既影响应数字图像的质量,也影响到该数字图像数据量的大小。图2.6给出了量化级数一定时,抽样点数不同对图像质量的影响。由图可以看出,当每行的抽样点数减少时,图上的块状效应就逐渐明显。人眼是否能察觉到块状效应与人眼的视觉特征密切相关,当人眼每度视角内像素数超过20后,对人眼来说,已无法察觉数字图像与连续图像的差别,每度视角内像素点越少则图像上的块状效应越明显。图2.6两幅抽样不同的同一幅图像图2.7是在图像的抽样点一定条件下,给出了灰度量化级数不同的同一图像。由该图可以看出,当量化级为64时即每像素占6位二进制码时,看上去图像灰度变化平滑。随图像量化级数的减少,图像就逐渐失去了灰度平滑变化的特点,出现假轮廓。图2.7量化级别对视觉效果的影响假轮廓随量化级数的减少而越来越明显。量化级数最小的极端情况就是二值图像,其假轮廓也最以明显。对人眼来说,量化级别大于64时就能得到满意的视觉效果。一般在确定量化级数时,要考虑到在实际对一幅图像进行量化时,不可能充分占满全部级别,因此为保证一幅图像量化后实际量化级别不低于64,量化时往往采用较大的可用量化级,如目前较普遍地采用256级,即每个量化后的像素占用一个字节的存储空间。一幅数字化后的图像其数据量是:M(每行像素数)×N(每列像素数)×b(灰度量化所占用位数)。为使一幅图像既能得到满意的视觉效果,又使其总数据量最少,一般需要针对图像的具体内容来具体确定相应的M、N及b值。下面举例给出若干常用的M、N值。汉字:取决于字的大小,每个字可以从16×16到256×256像素。显微镜图像:256×256或512×512像素。电视图像:500~700×480像素。卫星图像:3240×2340像素。SAR(合成孔径雷达)8000×8000像素。CRT显示器:一般512×512或1024×1024像素。2.2用计算机处理数字图像2.2.1数字图像的矩阵表示一幅N1×N2个像素的数字图像,其像素灰度值可用N1行N2列的矩阵[F]来表示,如图2.8所示。这样,对数字图像的各种处理就可以变成对矩阵[F]的各种运算。图2.8数字图像的矩阵表示2.2.2二维数组和图像的关系一幅M×N个像素的数字图像,在算法语言中可以用一个M×N的二维数组IP来表示,如图2.9所示。数字图像的各像素的灰度值可按一定的顺序存放在IP数组中。习惯上把数字图像左上角的像素定为(1.1)个像素,右下角的像素定为(M,N)个像素。这样从左上角开始,纵向第I行,横向第J列的第(I,J)个像素值就存储到数组元素IP(I,J)中。数字图像中的像素与二维数组中的各元素便一一对应起来了。二维数组就是数字图像在程序中的表现形式。应该注意到,数组元素下标的标注是以左上角为(1,1),右下角为(M,N),与人们所惯用的x-y坐标系略有差别。数组元素下标横向越靠右其值越大,与x-y坐标系是一致的,但纵向越向下越大则与x-y坐标系是相反的。图2.9把数字图像存储在二维数组中2.2.3对二维数组处理的基本程序框架在图像处理中,基本都是对整幅画面顺序完成存取和处理操作的,具有代表性的方法是逐行存取与处理的方式。在C语言程序中,若该图像大小为M×N,则其处理运算的核心部分如下:for(i=1;i<M+1;i++)for(j=1;j<N+1;j++)对IP(i,j)的具体处理运算2.3直方图对一幅数字图像,若对应于每一个灰度值,统计出具有该灰度值的像素数,并据此绘出像素数-灰度值图形,则该图形称该图像的灰度直方图,简称直方图。直方图如图2.10所示。该图是以灰度值作横坐标,像素数作纵坐标。有时直方图亦采用某一灰度值的像素数占全图总像素数的百分比即某一灰度值出现的频数作为纵坐标。若令全图中灰度值为qi以上的像素数为A(qi)灰度值为qi+Δqi以上的像素数为A(qi+qi),则全图中具有灰度为qi的像素数H(qi)可表示为:对离散图像,则若图像灰度级别为n,则可用H(0)~H(n-1)来表示直方图。图2.10直方图2.3.1直方图的性质1.直方图是一幅图像中各像素灰度值出现频数的统计结果,它只反映该图像中不同灰度值出现的频数,而未反映某一灰度像素所在位置。也就是说,它只包含了该图像中某一灰度值的像素出现的概率,而丢失了其所在位置的信息。2.任一幅图像,都能唯一地算出一幅与它对应的直方图,但不同的图像,可能有相同的直方图。也就说,图像与直方图之间是一种多对一的映射关系。图2.11给出了一个不同图像具有相同直方图的例子。图2.11不同图像具有相同直方图的例子3.由于直方图是对具有相同灰度值的像素统计计数得到的,因此,一幅图像各子区的直方图之和就等于该图全图的直方图,如图2.12所示。图2.12子区直方图与全图直方图的关系2.3.2直方图的应用1.图像数字化时参数的选择在对图像进行行数字化时,图像数字化后其可用灰度级数与实际占用的灰度级数之间的关系,可能有如图2.13所示的三种情况,如果数字化后的图像的直方图如图2.13(a)所示,即图像直方图覆盖了0~255全部灰度级;也就是说全部灰度级得到了恰当的利用。图2.13图像可用灰度级数与实际占用灰度级数的关系这种情况下,数字化后的图像对比度好。图2.13(b)表示了256个灰度级即灰度动态范围未得到充分利用的情况。即数字化后图像的实际灰度范围没有占满0~255的全部灰度级。图2.13(c)则是与图2.13(b)相反的另一种情况,即输入图像的灰度范围超出了灰度级所覆盖的动态范围。在这种情况下,图2.13(c)中f范围的灰度被强制置0,s范围的灰度被强制置为255,致使这部分灰度所对应的那部分图像灰度差丢失,即该部分图像内容细节丢失,降低了图像质量。应利用直方图,恰当选择图像数字化时的参数,使数字化后的图像直方图如图2.13(a)所示。2.利用直方图选取图像二值化的阈值往往一幅图像上的背景与物体在直方图上会呈出如图2.14所示的双峰性。在这种情况下,可以比较容易地根据两峰之间的谷值,来确定二值化的阈值。但在更一般的情况下,当双峰之间不明显时,图像二值化阈值和选取就是一个比较困难的问题了,后面第7章将讨论这个问题。图2.14用直方图选取图像二值化的阈值3.计算积分光密度积分光密度是关于图像“质量”的一个很有用的度量,利用直方图可直接算出积分光密度值。若令积分光密度用IOD来表示,IP(x,y)表示图像的灰度分布,则积分光密度IOD为:IOD=上式中a,b为积分边界。对离散情况,则 IOD=IP(i,j)上式中M,N为图像行列大小。若令Nk表示灰度为k的像素数,则上式可改写为: IOD=应该注意到,Nk正好等于直方图中的H(K),因此:IOD=即可根据直方图直接计算出该图像的积分光密度。2.4图像处理分类 本节概述图像处理方法和功能分类及其在空域上处理算法的基本形式。2.4.1基于输入输出形式的图像处理分类仅就处理运算的输入信息与输出信息的类型而言,具有代表性的图像处理算法的功能可概括为图2.15所示的三大类,即:1.单幅图像→(广义)单幅图像,如图2.15(a);2.多幅图像→单幅图像,如图2.15(b);3.单(或多)幅图像→数值、符号等,如图2.15(c)。图2.15基于输入输出形式的图像处理功能分类上述三类中,所有输入信息都是图像且其灰度值都是非负的整数,而输出信息则可以是多种多样的,即可以是具有非负灰度值的图像,二值图像,对输入图像逐个像素作出解释性的号码或参数组成的某种二维信息即标号图像,或从图像中提取出的用数值或符号描述的特征。所有以二维信息形式输出的信息称为广义图像。图2.16给出了标号图像的例子。在该例中输出图像中每个像素的值不再代表该像素的灰度值,而是代表该像素所属区域的区号。图2.16标号图像还应该注意到,在三大类功能中,第一类,即单幅图像→单幅图像,这一类处理功能是图像处理中基本的处理功能。对基本的图像处理功能,根据处理操作如何利用输入原图像IP加工得到输出目标图像JP,即根据处理操作的特点,可将处理运算方式分为:1.局部处理和全局处理;2.迭代处理;3.跟踪处理;4.位移不变处理和位移可变处理。2.4.2局部处理和全局处理为要计算出输出图像中某一像素值,需要用到输入图像中哪些像素值,这是构成不同处理算法的一个重要因素。当计算某一输出像素JP(I,J)值时,若仅用到对应的输入像素IP(I,J)的一个小邻域N(IP(I,J))中的像素值时,则称局部处理或邻域处理。若在计算某一输出像素JP(I,J)值时需要全部输入图像的像素值时,则称为全局处理。局部处理当邻域N(IP(I,J))缩小到仅包含IP(I,J)的场合,即某一输出像素JP(I,J)值仅与其对应的输入像素IP(I,J)值有关时,则这类处理算法叫点处理。点处理算法是图像处理中最简单常用,也最基本的一类算法。1.点处理点处理是一种输出像素值仅取决于输入像素对应像素值的一种处理算法,如图2.17所示。若令输出图像的像素值用JP(I,J)来表示,输入图像的对应像素值用于IP(I,J)来表示,则点处理算子可写作:上式中φp是某种函数关系。也就是说,输出像素值与输入像素值之间有某种函数关系。常用的函数关系有:线性变换JP(I,J)=A+B·IP(I,J)指数变换JP(I,J)=IP(I,J)A+B对数变换JP(I,J)=A·lnIP(I,J)+B上式中A、B为根据需要选定的常数。图2.17点处理在多幅图像→单幅图像的处理模式中,多幅图像中的对应点,通过代数运算而得出输出图像的对应点值也可看作点处理。对两幅输入图像经点处理而得到一幅输出图像的情况称帧处理,可表达为:JP(I,J)=φp(IP1(I,J),IP2(I,J))上式中IP1(I,J)及IP2(I,J)分别代表两幅输入图像。常用的这类点运算算法有:乘积变换JP(I,J)=A·IP1(I,J)/IP2(I,J)+B求和变换JP(I,J)=A·(IP1(I,J)+IP2(I,J)+B)差除和变换2.邻域处理邻域处理是根据输入图像某像素IP(I,J)的一个小邻域N(IP(I,J))中的像素值,按某种函数关系φN来计算得出输出像素JP(I,J)点的值的方法,如图2.18所示。其数学关系可表述为JP(I,J)=φN(N(IP(I,J))图2.18邻域处理邻域处理又可分为并行处理与串行处理两类。所谓并行处理就是对图像上的各像素同时进行相同形式的运算处理。所谓串行处理是对图像上的各像素依一定顺序,如按由左到右,由上到下的顺序逐个进行相同形式的处理。在邻域处理中,邻域N(IP(I,J))的形状与大小可以是各式各样的。邻域的大小可以是固定的,也可以是随所处理的像素点的位置(I,J)而变化的。实用上一般多采用以像素(I,J)为中心的矩形对称邻域。若图像大小为M×N像素,邻域大小为K×L像素,则邻域处理时总算量为O(M·N·K·L)量级。也就是说,邻域处理的计算量不仅与被处理图像大小成正比,也与所用邻域大小成正比。邻域越大,则所需计算量亦越大。在实际图像处理中最常用的是3×3、5×5像素的矩形邻域。邻域处理常用于实现图像的锐化或平滑处理。4.全局处理全局处理根据输入图像的全图A(IP(I,J))作某种运算而得到输出图像JP(I,J)的像素值,即:JP(I,J)=φG(A(IP(I,J)))后面将要讨论到的图像在变换域上的处理,即属全局处理。5.迭代处理所谓迭代是指对处理对象反复地进行某一种处理运算。对图像的迭代处理是指如图2.19所示的处理过程,即对输入图像IP先作φ运算(在图2.19中φ为细化运算)得到中间结果KP1,然后再对KP1作φ运算得中间结果KP2,如此重复直到完成n次φ运算为止。迭代次数n可以是预先给定的,或是根据迭代终止条件自动确定的。图2.19示例中迭代终止在线宽为1个像素时,即自动确定迭代次数。凡迭代次数依赖于输入图像的,叫数据相关。凡迭代次数与输入图像无关的叫数据无关。图2.19迭代处理--细化运算6.跟踪处理跟踪处理是串行处理的一种,其原理是一边进行处理,一边探索与确定下一个应处理的像素,如图2.20所示。其具体处理过程如下:1)首先选择满足规定条件像素作为起始像素;2)根据已得输出结果,在输入图像上搜索确定下一步应处理的像素,并进行规定的处理;3)根据已得输出结果及输入图像,确定终止条件。图2.20跟踪处理跟踪处理的特点是:1)下一步处理那个像素依赖于前面的处理结果,从而也就依赖于起始像素的位置。也就是说,跟踪处理的结果随由图像那一部分开始进行处理而有所不同。2)可根据已有的处理结果来限定后续处理的范围,从而可减少不必要的处理工作。并且,由于限制了处理范围,有可能提高处理精度。3)跟踪处理特别适用于边界线、等高线的跟踪及边缘提取等场合。2.5图像的表示与数据结构2.5.1图像的数据结构在图像处理中,由二维数组表示的图像数据在处理系统中用什么方式存储并处理是一个很重要的问题。除了以像素值形式存储的二维图像数据外,在图像处理中也涉及到经处理后提取出来的信息数据的存储问题。此处先讨论二维数组的存储,然后再讨论其它形式的数据存储。图像常用数据结构有二维数组、一维数组、分层结构与树状结构。1.二维数组将浓淡图像各像素的灰度值以二维数组型式存储是计算机图像处理程序中最常用的图像数据存储方法。如应用于彩色图像,则需采用三个二维数组,分别存储红、绿、蓝三个波段的图像数据。在计算机中存储图像数据时,往往着眼于节约存储空间,采用一个计算机字中存储多个像素的方式来存储图像数据。例如,对一个字长为16位的计算机,在存储每个像素占8位的图像时,可将两个相邻的8位像素分别存入一个计算机字的高、低8位中,如图2.21(a)所示。同理,若对字长为16位的计算机,存储每个像素占4位的图像时,可将四个相邻的4位像素存在一个计算机字中。这就是组合方式的数据存储。以组合方式存储的数据,当需要作处理运算时,就需要先将组合在一个计算机字中的多个像素分解为每个计算机字一个像素的形式,才能作处理运算。图2.21组合方式比特面方式存储有时也采用将每个像素占n位的图像按位(即比特)分解,并分别存入n个能按位(比特)存取的二维数组(可理解为1位/1字),即所谓按比特面方式存储,如图2.21(b)所示。以比特面为单位进行处理时,其优点是能在各位面之间进行高效率的逻辑运算,存储设备利用率高。但存在做浓淡图像处理时,这种存储方式有耗时多的缺陷。2.一维数组若将二维图像数组按某一顺序赋予一维连续号码,则能将二维图像数据存储在一维数组中。实际上,二维图像数组在计算机内的存储就是按由上到下,由左到右逐行连接,按图2.22所示一维数组形式存储的。图2.22将二维图像数据存到一维数组中3.分层结构若以原图像为基础,逐步降低其分辨率,依次构成像素越来越少的图像,就构成了一种由一系列清晰程度不同的图像组成的分层性结构,其中有代表性的是锥形结构。锥形结构的构成方法是:对2k×2k像素的原始图像I0,令其相邻的2×2个像素合并,并取其平均灰度值作为合并后新像素的灰度值,构成一幅2k-1×2k-1像素的图像I1,重复上述过程,可以依次构成2k-2×2k-2像素的图像I2,依此类推,最可得到2k×2k~20×20个像素的一系列图像,如图2.23所示。也就是说,这些图像是由原图像I0按行、列分辨率不断减半的方式产生的。图2.23锥形结构锥形结构的图像系列是一组分辨率由粗到精的同一图像。分辨率粗的图像数据量小,对其处理时可大幅度节省处理时间。利用这一特点,在处理具有锥形结构的图像时,可先对分辨率粗的图像进行处理,然后根据需要,再局部性地对较精或最精的图像的对应位置作处理。这种先粗后精,对精度高的图像限定处理范围的方法,可达到提高处理效率的目的。4.树状结构对每个像素只占一位的二值图像,可将原图像不断四等分的方式进行分割,即沿行、列方向同时二等分而把原图分成相等的四块,如果分割后的任一块图像其全部像素都是白或黑的,则该块就不再分割了。按这种方式对二值图像做分割后,其分割结果可以用四叉树结构来表示,如图2.24所示。这种树状结构可用于二值图像的特征表达或图像数据压缩。图2.24二值图像的四叉树结构5.多波段图像的数据结构前面讨论过的四种数据结构都是针对单幅图像或单波段图像的。而在实际生活中还经常用到多波段图像,如彩色图像(由R、G、B三个波段的图像组成),遥感技术中用到的多波段图像即用多个不同波长对同一地物分别拍摄的多幅图像。这些图像数的存储常采用下列几种结构:将每个波段的图像依次存储,如图2.25(a)所示。将每个波段的同一扫描行依次存储,如图2.25(b)所示。将每个波段的同一像素依次存储,如图2.25(c)所示。图2.25多波段图像的数据结构另外,以电视图像为代表的运动图像数据,可按时间顺序逐帧顺序排列,采用图2.25(a)所示方式进行这类图像数据的存储。2.5.2其它型式的数据存储格式二值图像是灰度图像的一种特殊情况,也是一种常用的图像特征的描述方式。二值图像数据可用更简洁的格式来表达。一个点阵汉字是一个典型的二值图像,如图2.26所示。图2.26一个典型的二值图像线条图是二值图中的图形都是由一个像素宽的线状结构所构成的,也是二值图像的一个特例,如图2.27(a)所示。图2.27线条图及其描述本节介绍这些二值图像的数据存储格式。1.二值图像的基本数据存储格式由于二值图像每个像素只需用一位二进制码来表示,因此对二值图像可以规定用“0”表示白,“1”表示黑,这样一幅二值图像就可用一个由“0”、“1”码构成的二维数组来表示。从数据存储角度来考虑,可以将每行相邻的八个二值像素存储在一个字节中,这样,如图2.26所示的32×32点阵的图就可以由1024字节缩减到128字节,从而可以节省存储空间。这种八个二值图像像素合占一个字节的存储结构,节省了存储空间,其代价是每次对这种结构的二值图像处理或显示时,必须先将每个字节展成八个像素,附加了额外的处理计算量。2.线条图的数据格式对于如图2.27(a)所示的特殊的二值图像线条图,其数据可以用多种紧凑程度不同的格式来表达。1)坐标序列由于线条图中像素值取“1”的线条部分,仅占全图的一个较小的百分比,因此可以用仅记录图面上黑像素点即值为“1”的像素点的坐标,而隐含其余像素点全为白色即值为“0”的办法来描述线条图。具体做法是以线条图线条某一端点开始逐点记录黑色像素的坐标,如图2.27(a)图的坐标序列为:(6,2),(7,3),(7,4),(6,5),(5,6),(5,7),(5,8),(4,9),(3,9),(2,8)用这种方式存储线条图时,每个黑色像素点需存储x和y两个坐标值,而存储一个坐标值所需的位数与图像大小有关,例如,若一幅图像为512×512个像素大小,则每个坐标值要用9位二进制码来表示,这样一个像素坐标(x,y)需要用2×9=18位来表示。若线条图上共计有n个黑像素,则以图像坐标序列形式存储该线条图共需18×n位。2)坐标序列增量这种存储格式是作为上述坐标序列存储格式的一种改进方案而提出的。应该注意到,上例的坐标序列中除起始点坐标之外,所有后继的两个相邻像素的坐标差(指对应的相邻两像素的x坐标或y坐标差)只可能是0,+1或-1三种情况。表示这三种情况用2位二进制就可唯一地表达了。据此,若把线条图的描述由坐标序列改为坐标增量序列,则每一个黑像素坐标(x,y)可以只用2×2=4位二进制来表示,与坐标序列存储格式相比,显著地减少了每个黑像素所需存储位数。应该注意到,采用坐标序列增量存储格式时,线条的起点坐标仍需要绝对坐标,从连续线条的第二个像素开始,就可以采用坐标序列增量来表示。仍以图2.27(a)线条图为例,该线条图当用坐标序列增量描述时,为:(6,2),(1,1),(0,1),(-1,1),(-1,1),(0,1),(0,1),(-1,1),(-1,0),(-1,-1)若仍假设图像为512×512像素,则n个连续的黑像素,用坐标序例增量描述时,共需4×(n-1)+2×9位二进制码即可准确地作出描述。3)链码链码方案是对坐标序列增量描述方法的改进与紧缩。坐标序列增量格式中对除起始坐标之外的每一个后继坐标(x,y)要用四位二进制码来描述,对此可否再作改进与紧缩呢?图2.28像素*的方向码应该注意到,对连续线条来说,其相邻像素只可能有如图2.28所示的八个可能性,或者说,任一像素其后继像素可用如图2.28中的0~7来唯一地确定,即用3位二进制码来唯一地描述。这种描述方式叫链码格式,它可以比坐标序列增量格式平均每个黑像素点节省一位二进制码。图2.27(a)所示线条图若用链码格式描述时为:起始坐标(6,2),7,0,1,1,0,0,1,2,3链码格式的数据也是由两部分所构成,即起始黑像素绝对坐标与链码两部。4)差分链码差分链码是对链码方案的进一步改进,其基本思想是着眼于当前像素相对于其前、后两个像素的方向差的统计分析为基础的。针对线条图作统计分析可以发现,前一像素到当前像素与当前像素到后继像素这两个方向码之差值(即所谓差分链码)多为0与±1,当然也可能出现±2,±3以至4(注意图为±4实际是同一状况,所以此处仅取4)也就是说,从统计角度来看,出现0与±1的概率大,利用这一特点,可以节约存储。仍以图2.42(a)线条图为例,用差分链码描述时,其线条图可表示为:(6,2),7,0,1,1,0,0,1,2,3起始坐标链码从此例亦可看出,差分链码值多为0与±1。基于差分链码值小的出现频度高的分析,采用变长码来表示差分链码,可进一步缩减描述所需的数据量,具体变长差分链码编码方案如下:差分链码值0+1-1+2-2+3-34变长码001011011101111011111011111101111111采用上述变长码表示差分链码后,平均描述每个黑像素坐标所需数据降到了约2位二进制码。在上述四种线条图的描述格式中,描述数据的紧缩程度有所不同,紧缩是用增加运算换来的。也就是说,紧缩程度高的描述格式,是以较多的辅助运算换来的。2.6数字图像的几何变换几何变换是一种调整一幅图像中各类特征之间空间关系的变换。其效果可形式化地理解为把图像看成一张橡皮模,对该模作任意伸展并在若干点把变形后的橡皮模固定下来后的结果。实际上,几何变化的结果可以比上述比喻宽泛得多,一个不受约束的几何变换,可将图像中的一个点变换到图像中任意位置。也就是说,几何变换可将原图像变得面目全非。但我们所关心的几何变换是一种保持变换前后图像局部特征相似性的变换。几何变换是图像处理中一种基本的常用的图像预处理方法,其主要用途是:1.实现数字图像的放大、缩小及旋转。2.实现畸变图像的校正,畸变原因可以多种多样,如摄影系统或镜头畸变。3.实现不同来源如航空摄影、卫星遥感、合成孔径雷达等图像的配准。2.6.1图像几何变换原理图像几何变换的基本原理如图2.29所示,即将源图像u-v坐标系上的数字图像f(u,v)变换为另一个x-y坐标系目标坐标系上的数字图像g(x,y),且满足:1.f(u,v)=g(x,y)=f(p(x,y),q(x,y))u=p(x,y)v=q(x,y)2.保持变换前后两幅图像f(u,v)与g(x,y)间局部特征相似。即变换后,源图像上局部特征的连续性与连通性保持不变。图2.29图像几何变换应该注意到,数字图像上每个像素的坐标均为整数,而变换函数:u=p(x,y),v=q(x,y)是连续函数,因此,如图2.29所示,当取某一(x,y)坐标时,与之对应的(u,v)就不一定是整数。反之,若某一(u,v)为整数时,与之对应的(x,y)也不一定是整数。在具体作几何变换时,源图像f(u,v)是已知的,变换的目标图像g(x,y)是待定的。在实现上从节约计算量考虑,一般地(x,y)坐标值取为整数,这样与之对应的(u,v)坐标值一般就不是整数了。而非整数的(u,v)坐标,在源图像上其值f(u,v)是没有定义的。为此必须根据源图像上与该(u,v)点相邻的f(U,V)有定义的整数坐标像素值,插值计算出该点灰度值f(u,v)。如图2.30(a)所示,为求非整数坐标点(u0,v0)点的灰度值f(u0,v0),需用(u′,v′),(u′+1,v′),(u′,v′+1),(u′+1,v′+1)四个整数坐标点的灰度值,按某种规则来插值计算(u0,v0)点的灰度值f(u0,v0)。这就是所谓灰度插值计算。图2.30两种灰度插值方法u-v坐标与x-y坐标之间的函数关系u=p(x,y)和v=q(x,y)可以是任意函数。考虑到任意函数均可展成幂级数,所以可用幂函数形式来描述图像几何变换中的坐标变换关系。一般可写作:u=p(x,y)=∑∑aijxiyj v=q(x,y)=∑∑bijxiyj综上所述,图像几何变换包括了坐标变换与灰度插值两部分变换计算工作。2.6.2坐标变换2.6.2.1一般变换原理像素坐标(u,v)到(x,y)的变换中,下面一些特殊的变换关系是经常用到的:1)恒等变换u=p(x,y)=xv=q(x,y)=y即为f图像复制为g图像。2)位移变换u=p(x,y)=x-x0v=p(x,y)=y-y0上式中x0,y0分别在u,v方向上的特定位移量,此变换即为将f图像位移而得到g图像。3)翻转变换u=p(x,y)=c-x,v=q(x,y)=y上式中c为特定常数,此变换即为f图像绕u0=c的垂直轴翻转而得到g图像。u=p(x,y)=xv=q(x,y)=c-y上式中c为特定常数,此变换即为f图像绕v0=c的水平轴翻转而得到g图像。4)缩放变换u=p(x,y)=v=p(x,y)=上式中c,d为特定常数,此变换即为f图像在x轴方向上放大c倍,在y轴方向上放大d倍而得到g图像。应注意到,当系数c,d小于1时,实际是缩小变换。5)旋转变换u=p(x,y)=xcosθ-ysinθv=q(x,y)=xsinθ-ycosθ上式中θ为特定角度,是x-y坐标系相对于u-v坐标系的夹角,逆时针为正。此变换即为f图像逆时针转动θ角后得到的g图像。上述各种特殊坐标变换关系是幂级数形式表示的一般变换关系的特例。上述各种特殊坐标变换关系亦可多个组合应用而得到任意的变换结果。2.6.2.2控制点法实际图像处理中有时几何变换不是按给定的变换函数关系去求最终的目标图像,而是根据实际畸变图像畸变量的测量来确定变换函数关系。一般采用控制点法。控制点法是通过测定若干特定坐标点即所谓控制点的位移量来确定坐标变换方程的系数的方法。如图2.31所示,若已知该图所示输入图像与输出图像上四对对应控制点对的位移量,则可利用这四对已知控制点对,求解下列坐标变换方程中的系数a~h。u=p(x,y)=ax+by+cxy+dv=q(x,y)=ex+fy+gxy+

温馨提示

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

评论

0/150

提交评论