数字图像管理组织几何变换.ppt
《数字图像管理组织几何变换.ppt》由会员分享,可在线阅读,更多相关《数字图像管理组织几何变换.ppt(87页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章数字图像处理中的基本运算,本章主要内容和基本要求,数字图像的基本代数运算 数字图像的几何运算,5.1 数字图像处理基本运算的分类 一、图像处理算法的分类: 单幅图像单幅图像 多幅图像单幅图像 多幅图像或单幅图像数值/符号(图像分析) 二、根据基本运算分类 点运算 邻域运算,5.2 点运算,一、数字图像的代数运算 1、基本代数运算基础: 设图像,其运算可以分为图像自身的运算和图像间的运算,从根本上而言可以看成对图像位置的运算或对该位置上灰度级的运算。,基本代数运算:图像象素几何位置不变图像灰度级的加、减、 乘、 除等运算。 几何运算:图像象素位置变换后,经过计算,确定该象素灰度的运算。 例
2、如图像f和g:,代数运算就是二者点对点的加、减、乘、除运算。对f图所有灰度加c级灰度可作如下处理:J=f+c,给整幅图像增加灰度级会使图像亮度得到提高整体偏亮,给个别象素加灰度值可以使目标景物突出,例如:,给一幅图像乘以一个系数,可以改变图像的灰度级范围如:,原来是20200的灰度级范围,乘以2则有40400的灰度级范围,两幅连续的图像运算可以有基本运算组合而成如:Kafbg:,二、代数运算的用途,可以对同一场景的多幅图像求平均,以降低加性零值平稳噪声。 两幅图像叠加达到二次曝光的效果。 减去图中不需要的加性噪声。 计算两幅场景的变化。 检测轮廓,确定轮廓现。,5.3 图像的几何运算,几何运算
3、也叫几何变换:包括图象的平移,旋转,镜象变换,转置,放缩等。 一平移(translation)将图像沿水平或垂直方向移动位置后,获得新的图像的变换方式。例如:图像坐标中象素点(x0 ,y0)移动到(x1,y1) 位置灰度不变。,(x0 ,y0 )点,经过平移(tx,ty),变为点(x1,y1)两点之间的关系 为:x1=x0+tx; y1=y0+ty.以矩阵的形式表示为 :,我们更关心的是它的逆变换:,因为:我们想知道的是平移后的图象中每个像素的颜色 。x0=x1-tx , y0=y1-ty,例如:新图中左上角点的RGB值是多少?很显然,该点是原图中的某一点经过平移后得到的,这两点的颜色肯定是一
4、样的,所以只要知道了原图那点的RGB值即可。那么到底新图中的左上角点对应原图中的哪一点呢?将左上角点的坐标(0,0)代入公式(2),得到x0=-tx;y0=-ty;所以新图中的(0,0)点的颜色和原图中(-tx,-ty)的一样。设用 表示新图,用 表示原图。,例如:,平移后出现的问题,1、如果新图中有一点(x1,y1),按照公式(2)得到的(x0,y0)不在原图中该怎么办? 通常的做法是,把该点的RGB值统一设成(0,0,0)或者(255,255,255)。 2、平移后的图象是否要放大? 一种做法是不放大,移出的部分被截断,如下图所示,图2为原图,图3为移动后的图。这种处理,文件大小不会改变。
5、,平移前的图,平移后的图像,还有一种做法是:将图象放大,使得能够显示下所有部分,移动后被放大图像,这种处理,文件大小要改变。设原图的宽和高分别是w1,h1则新图的宽和高变为w1+|tx|和h1+|ty|,加绝对值符号是因为tx,ty有可能为负 .,下面给出Translation的源代码。算法的思想是先将所有区域填成白色,然后找平移后显示区域的左上角点(x0,y0)和右下角点(x1,y1)。 分几种情况:,先看x方向(width指图象的宽度),1.tx-width很显然,图象完全移出了屏幕,不用做任何处理2-widthtx0,如图5所示图像向左上方移动图象区域的x范围从0到width-|tx|,
6、对应原图的范围从|tx|到width,图5,30txwidth , 如图6所示 , 图像向右下方平移0txwidth,0tyheight的情况图象区域的x范围从tx到width,对应原图的范围从0到width-tx,图6,4txwidth,图象完全移出了屏幕,不用做任何处理 。,y方向是对应的(height表示图象的高度 1ty-height,图象完全移出了屏幕,不用做任何处理2-heightty0,图象区域的y范围从0到height-|ty|,对应原图的范围从|ty|到height30tyheight ,图象区域的y范围从ty到height,对应原图的范围从0到height-ty4tyhei
7、ght,图象完全移出了屏幕,不用做任何处理 ),这种做法利用了位图存储的连续性,即同一行的像素在内存中是相邻的。利用memcpy函数,从(x0,y0)点开始,一次可以拷贝一整行(宽度为x1-x0),然后将内存指针移到(x0,y0+1)处,拷贝下一行,这样拷贝(y1-y0)行就完成了全部操作,避免了一个一个像素的计算,提高了效率。,二、旋转(rotation),图像旋转是指图像以某一点作为轴转过一定的角度。通常的做法是以图象的中心为圆心旋转。 例如:图7旋转30度(顺时针方向)后的图象如图8所示. 可以看出,旋转后图象变大了。,图8旋转后的图,若要使旋转后保持原尺寸图像就要进行裁切,有些内容就会
8、损失。我们采用第一种做法,图像旋转变换矩阵,先来看一下,将一个点顺时针旋转a角后的坐标变换公式,如图10所示,r为该点到原点的距离,在旋转过程中,r保持不变。b为r与x轴之间的角度。,x0=r*cos(b); y0=r*sin(b),图10,旋转前:x0=r*cos(b); y0=r*sin(b) 旋转a角度后 :,以矩阵的形式表示,其逆矩阵的形式表示为,上面的公式中,坐标系I是以图象的中心为原点,向右为x轴正方向,向上为y轴正方向。它和以图象左上角点,向右为x轴正方向,向下为y轴正方向的坐标系II之间的转换关系如何呢?,两种坐标系间的转换关系,逆变换为 :,按照上面的公式,我们可以把变换分成
9、3步: 第一: 将坐标系II变成I ;第二: 将该点顺时针旋转a角;第三: 将坐标系I变回II ,这样,我们就得到了变换矩阵,是上面三个矩阵的级联。,上面公式中Wold表示原图的宽 ,Hold表示原图 的高,Wnew新图的宽 ,Hnew新图的高 ,可以看出,Wnew=max(|x4-x1|,|x3-x2|) ; Hnew=max(|y4-y1|,|y3-y2|).,可以根据以上公式 ,求出对应的原图中的点,得到它的灰度,如果超出原图范围则填成白色。要注意的是,由于有浮点运算,计算出来点的坐标可能不是整数,采用取整处理,即找最接近的点,这样会带来一些误差(图象可能会出现锯齿),更精确的方法是采用
10、插值 。插值算法后面详细介绍。,三、镜象(mirror),镜象分水平镜象和垂直镜象两种,原图,水平镜像,垂直镜像,镜象的变换矩阵很简单,设原图宽为w,高为h,变换后,图的宽和高不变.水平镜象为:,垂直镜象为,四、转置(transpose),转置是指将x,y坐标对换,原图,转制后的图,要注意的是,转置和旋转90度是有区别的,不信你可以试试,你怎么转,也转不出图15度来。另外,转置后图的宽高对换了。转置的变换矩阵很简单:,五、缩放(zoom),图像比例缩放是指将给定的图像在x轴方向按比例缩放fx倍,沿y轴方向比例缩放fy。当fx fy时,称为图像的全比例缩放。当fx fy时,图像象素间的相对位置会
11、发生畸变。 设原图像中的点P(x0,,y0),比例缩放后在新的图像中对应点P(x,y), P(x0,,y0)和 P(x,y)之间的对应关系如图所示:,比例缩放前后两点之间的关系用矩阵表示为:,其逆矩阵为:,插值算法(Interpolation),比例缩放所产生的图像中有可能在原图中找不到相应的象素点,我们采用的做法是找与之最临近的点,我们采用的做法是找与之最临近的点 。即利用邻域的像素来估计新的像素值 的处理方法就是插值算法。 常用的插值算法有: 最邻近插值(Nearest Neighbour Interpolation)。 线形插值(Linear Interpolation)。 双线形插值(
12、Bilinear Intrepolation) 曲线插值(Curvilinear Interpolation),(1)最临近插值,图像变换后找不到相应的象素点时,直接赋值为和它最相近的的象素值的插值算法。 例如:在图像的缩放中,将一幅66的图像按比例缩小,fxfy1/2,图像的长和宽均缩小到原来的一半,成为一幅33的图像。 原图像的象素从(0,0)到(5,5),新图像的象素从(0,0)到(2,2)。如下图:,66的原图f,X0=0/0.5=0 y0 =0 X1=1/0.5= 2 y1=2 X2=2/0.5=4 y2=4 g(0,0)=f(0,0) , g(0,1)=f(0,2) , g(0,2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 管理 组织 几何 变换
限制150内