数字图像处理几何变换课件.ppt

上传人(卖家):晟晟文业 文档编号:4587889 上传时间:2022-12-22 格式:PPT 页数:86 大小:1.15MB
下载 相关 举报
数字图像处理几何变换课件.ppt_第1页
第1页 / 共86页
数字图像处理几何变换课件.ppt_第2页
第2页 / 共86页
数字图像处理几何变换课件.ppt_第3页
第3页 / 共86页
数字图像处理几何变换课件.ppt_第4页
第4页 / 共86页
数字图像处理几何变换课件.ppt_第5页
第5页 / 共86页
点击查看更多>>
资源描述

1、本章主要内容和基本要求 数字图像的基本代数运算 数字图像的几何运算5.1 数字图像处理基本运算的分类一、图像处理算法的分类:单幅图像单幅图像多幅图像单幅图像多幅图像或单幅图像数值/符号(图像分析)二、根据基本运算分类点运算邻域运算5.2 点运算 一、数字图像的代数运算 1、基本代数运算基础:设图像(,)If x y(,)Jg x y其运算可以分为图像自身的运算和图像间的运算,从根本上而言可以看成对图像位置的运算或对该位置上灰度级的运算。基本代数运算:图像象素几何位置不变图像灰度级的加、减、乘、除等运算。几何运算:图像象素位置变换后,经过计算,确定该象素灰度的运算。例如图像f和g:1112132

2、12223313233gggggggggg111213212223313233ffffffffff 代数运算就是二者点对点的加、减、乘、除运算。对f图所有灰度加c级灰度可作如下处理:J=f+c111213212223313233fc fc fcJ f cfc fc fcfc fc fc 给整幅图像增加灰度级会使图像亮度得到提高整体偏亮,给个别象素加灰度值可以使目标景物突出,例如:给一幅图像乘以一个系数,可以改变图像的灰度级范围如:111213212223313233afafafJafafafafafafaf原来是20200的灰度级范围,乘以2则有40400的灰度级范围两幅连续的图像运算可以有基

3、本运算组合而成如:Kafbg:111213212223313233bgbgbgKbgbgbgbgbgbgbg111213212223313233afafafafafafafafafaf二、代数运算的用途 可以对同一场景的多幅图像求平均,以降低加性零值平稳噪声。两幅图像叠加达到二次曝光的效果。减去图中不需要的加性噪声。计算两幅场景的变化。检测轮廓,确定轮廓现。5.3 图像的几何运算 几何运算也叫几何变换:包括图象的平移,旋转,镜象变换,转置,放缩等。一平移(translation)将图像沿水平或垂直方向移动位置后,获得新的图像的变换方式。例如:图像坐标中象素点(x0,y0)移动到(x1,y1)位

4、置灰度不变。(x0,y0)点,经过平移(tx,ty),变为点(x1,y1)两点之间的关系 为:x1=x0+tx;y1=y0+ty.以矩阵的形式表示为:我们更关心的是它的逆变换:因为:我们想知道的是平移后的图象中每个像素的颜色。x0=x1-tx,y0=y1-ty例如:新图中左上角点的RGB值是多少?很显然,该点是原图中的某一点经过平移后得到的,这两点的颜色肯定是一样的,所以只要知道了原图那点的RGB值即可。那么到底新图中的左上角点对应原图中的哪一点呢?将左上角点的坐标(0,0)代入公式(2),得到x0=-tx;y0=-ty;所以新图中的(0,0)点的颜色和原图中(-tx,-ty)的一样。设用 表

5、示新图,用 表示原图。(,)g x y(,)f x y(0,0)g在新图的坐标系中是左上角的象素,原图00(,)f xy中的象素在新坐标系中的位置变成了f(tx,-ty),新的坐标系中g(0,0)f(-tx,-ty)。例如:平移后出现的问题 1、如果新图中有一点(x1,y1),按照公式(2)得到的(x0,y0)不在原图中该怎么办?通常的做法是,把该点的RGB值统一设成(0,0,0)或者(255,255,255)。2、平移后的图象是否要放大?一种做法是不放大,移出的部分被截断,如下图所示,图2为原图,图3为移动后的图。这种处理,文件大小不会改变。平移前的图平移后的图像还有一种做法是:将图象放大,

6、使得能够显示下所有部分 移动后被放大图像 这种处理,文件大小要改变。设原图的宽和高分别是w1,h1则新图的宽和高变为w1+|tx|和h1+|ty|,加绝对值符号是因为tx,ty有可能为负.下面给出Translation的源代码。算法的思想是先将所有区域填成白色,然后找平移后显示区域的左上角点(x0,y0)和右下角点(x1,y1)。分几种情况:先看x方向(width指图象的宽度)l 1.tx-width很显然,图象完全移出了屏幕,不用做任何处理2-widthtx0,如图5所示图像向左上方移动图象区域的x范围从0到width-|tx|,对应原图的范围从|tx|到width图530txwidth,如

7、图6所示,图像向右下方平移0txwidth,0tyheight的情况图象区域的x范围从tx到width,对应原图的范围从0到width-tx 图64txwidth,图象完全移出了屏幕,不用做任何处理。y方向是对应的(方向是对应的(height表示图象的高度表示图象的高度1ty-height,图象完全移出了屏幕,不用做任何处理2-heightty0,图象区域的y范围从0到height-|ty|,对应原图的范围从|ty|到height30tyheight,图象区域的y范围从ty到height,对应原图的范围从0到height-ty4tyheight,图象完全移出了屏幕,不用做任何处理)这种做法利用

8、了位图存储的连续性,即同一行的像素在内存中是相邻的。利用memcpy函数,从(x0,y0)点开始,一次可以拷贝一整行(宽度为x1-x0),然后将内存指针移到(x0,y0+1)处,拷贝下一行,这样拷贝(y1-y0)行就完成了全部操作,避免了一个一个像素的计算,提高了效率。二、旋转(rotation)图像旋转是指图像以某一点作为轴转过一定的角度。通常的做法是以图象的中心为圆心旋转。例如:图7旋转30度(顺时针方向)后的图象如图8所示.可以看出,旋转后图象变大了。图8旋转后的图图7原图若要使旋转后保持原尺寸图像就要进行裁切有些内容就会损失。我们采用第一种做法 图像旋转变换矩阵 先来看一下,将一个点顺

9、时针旋转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角度后:1*cos()xrba*cos()cos()*sin()sin()rbarba00cos()sin()xaya1*sin()yrba*sin()cos()*cos()sin()rbarba00cos()sin()yaxa以矩阵的形式表示 其逆矩阵的形式表示为上面的公式中,坐标系I是以图象的中心为原点,向右为x轴正方向,向上为y轴正方向。它和以图象左上角点,向右为

10、x轴正方向,向下为y轴正方向的坐标系II之间的转换关系如何呢?两种坐标系间的转换关系 逆变换为:按照上面的公式,我们可以把变换分成3步:第一:将坐标系II变成I;第二:将该点顺时针旋转a角;第三:将坐标系I变回II,这样,我们就得到了变换矩阵,是上面三个矩阵的级联。上面公式中Wold表示原图的宽,Hold表示原图 的高,Wnew新图的宽,Hnew新图的高,可以看出 Wnew=max(|x4-x1|,|x3-x2|);Hnew=max(|y4-y1|,|y3-y2|).可以根据以上公式,求出对应的原图中的点,得到它的灰度,如果超出原图范围则填成白色。要注意的是,由于有浮点运算,计算出来点的坐标可

11、能不是整数,采用取整处理,即找最接近的点,这样会带来一些误差(图象可能会出现锯齿),更精确的方法是采用插值。插值算法后面详细介绍。三、镜象(mirror)镜象分水平镜象和垂直镜象两种 原图水平镜像垂直镜像镜象的变换矩阵很简单,设原图宽为w,高为h,变换后,图的宽和高不变.水平镜象为:垂直镜象为 四、转置(transpose)转置是指将x,y坐标对换 原图转制后的图要注意的是,转置和旋转90度是有区别的,不信你可以试试,你怎么转,也转不出图15度来。另外,转置后图的宽高对换了。转置的变换矩阵很简单:五、缩放(zoom)图像比例缩放是指将给定的图像在x轴方向按比例缩放fx倍,沿y轴方向比例缩放fy

12、。当fx fy时,称为图像的全比例缩放。当fx fy时,图像象素间的相对位置会发生畸变。设原图像中的点P(x0,,y0),比例缩放后在新的图像中对应点P(x,y),P(x0,,y0)和 P(x,y)之间的对应关系如图所示:比例缩放前后两点之间的关系用矩阵表示为:00000010011xxfxyfyy 10 xxf x10yyf y其逆矩阵为:0010010011001xyfxxyyf0 xxxf0yyyf插值算法(Interpolation)比例缩放所产生的图像中有可能在原图中找不到相应的象素点,我们采用的做法是找与之最临近的点,我们采用的做法是找与之最临近的点。即利用邻域的像素来估计新的像素

13、值 的处理方法就是插值算法。常用的插值算法有:最邻近插值(Nearest Neighbour Interpolation)。线形插值(Linear Interpolation)。双线形插值(Bilinear Intrepolation)曲线插值(Curvilinear Interpolation)(1)最临近插值 图像变换后找不到相应的象素点时,直接赋值为和它最相近的的象素值的插值算法。例如:在图像的缩放中,将一幅66的图像按比例缩小,fxfy1/2,图像的长和宽均缩小到原来的一半,成为一幅33的图像。原图像的象素从(0,0)到(5,5),新图像的象素从(0,0)到(2,2)。如下图:66的原

14、图f新图中的灰度值利用缩放公式0 xxxf0yyyf计算得到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)=f(0,4),g(1,0)=f(2,0),g(1,1)=f(2,2),g(1,2)=f(2,4)g(2,0)=f(4,0),g(2,1)=f(4,2),g(2,2)=f4,4)33的新图g66的原图f图像缩小,可以在原图像中挑选信息,缩小之后的图与原图像比较丢失了很多信息。图像放大处理中,需要对放大后多出来的空格填入适当的象素值,采用最临近插值法举例如下:44的以原图f长

15、和宽各放大2倍,利用公式得到88的新图像。新图像中各象素位置X0=0 Y0=0 X1=0.5 Y1=0.5 X2=1 Y2=1 X31.5 Y3=1.5 X4=2 Y4=2 X5=2.5 Y5=2.5 X6=3 Y6=3 X7=3.5 Y7=3.5g(0,0)=f(0,0)g(0,1)=f(0,0.5)g(0,2)=f(0,1)g(0,3)=f(0,1.5)g(0,4)=f(0,2)g(0,5)=f(0,2.5)g(0,6)=f(0,3)g(0,7)=f(0,3.5)g(1,0)=f(0.5,0)g(1,1)=f(0.5,0.5)g(1,2)=f(0.5,1)g(1,3)f(0.5,1.5)g

16、(1,4)=f(0.5,2)g(1,5)=f(0.5,2.5)g(1,6)=f(0.5,3)g(1,7)=f(0.5,3.5)g(2,0)=f(1,0)g(2,1)=f(1,0.5)g(2,2)=f(1,1)g(2,3)=f(1,1.5)g(2,4)=f(1,2)g(2,5)=f(1,2.5)g(2,6)=f(2,3)g(2,7)=f(1,3.5)g(3,0)=f(1.5,0)g(3,1)=f(1.5,0.5)g(3,2)=f(f(1.5,1)g(3,3)=f(1.5,1.5)g(3,4)=f(1.5,2)g(3,5)=f(1.5,2.5)g(3,6)=f(1.5,3)g(3,7)=f(1.5

17、,3.5)g(4,0)=f(2,0)g(4,1)f(2,0.5)g(4,2)=f(2,1)g(4,3)=f(2,1.5)g(4,4)=f(2,2)g(4,5)=f(2,2.5)g(4,6)=f(2,3)g(4,7)=f(2,3.5)g(5,0)=f(2.5,0)g(5,1)f(2.5,0.5)g(5,2)=f(2.5,1)g(5,3)=f(2.5,1.5)g(5,4)=f(2.5,2)g(5,5)=f(2.5,2.5)g(5,6)=f(2.5,3)g(5,7)=f(2.5,3.5)g(6,0)=f(3,0)g(6,1)f(3,0.5)g(6,2)=f(3,1)g(6,3)=f(3,1.5)g(

18、6,4)=f(3,2)g(6,5)=f(3,2.5)g(6,6)=f(3,3)g(6,7)=f(3,3.5)g(7,0)=f(3.5,0)g(7,1)f(3.5,0.5)g(7,2)=f(3.5,1)g(7,3)=f(3.5,1.5)g(7,4)=f(3.5,2)g(7,5)=f(3.5,2.5)g(7,6)=f(3.5,3)g(7,7)=f(3.5,3.5)放大后88的新图(2)线形插值 线形插值是使用原图中两个值来构造所求坐标处的值。例如:如图所示,如果已经知道了两点x0,x2处的函数值f(x0),f(x2),现在要求x1处的函数值f(x1)。我们假设函数是线性的,利用几何知识可以知道:2

19、0110020()()()()()f xf xf xxxf xxx双线性插值 在图象处理中需要将线形插值扩展到二维的情况,即采用双线形插值(Bilinear Intrepolation)例如:已知四点 f(x0,y0),f(x2,y2),f(x2,y0),f(x2,y2)的灰度,要求g(x1,y1)点的灰度,可以先在水平方向上由f(x0,y0),f(x2,y2)线形插值求出g(x0,y1),f(x2,y0),f(x2,y2)线形插值求出g(x2,y1),然后在垂直方向上由g(x0,y1),g(x2,y1)线形插值求出g(x1,y1)020001100020(,)(,)(,)()(,)f x y

20、f x yg x yyyf x yyy222021102020(,)(,)(,)()(,)f x yf x yg x yyyf x yyy212111100120(,)(,)(,)()(,)f x yf x yg x yxxf x yxx双线性插值可以通过三次运算的到。处理效果比较满意。这种处理具有低通滤波性质,使高频分量受到损失,图像轮廓模糊。另外,图像处理中还使用双曲线插值,及三次内插法解决图像缩放及图像旋转后的灰度填充。图像几何变换综合训练 1、已知33的图像如图所示 A、将此图以图形中心为轴顺钟向旋转30度 B、将此图放大2倍 C、对此图作水平镜像1、首先将此图平移至以图像中心为原点的

21、坐标系中新坐标系中任一点与原坐标系的点的对应关系如下 X1=X-2 Y1=Y-21110201200111xxyy 由新图像找原图像中的对应点用拟矩阵12xx12yy1110201210011xxyy 新图像用g(u,y),表示,原图像用f(x,y),表示有:u0=x2 v0=y2 u(-1)=x1 v(-1)=y1 u1=x3 v1=y3g(-1,-1)=f(1,1)g(-1,0)=f(1,2)g(-1,1)=f(1,3)g(0,-1)=f(2,1)g(0,0)=f(2,2)g(0,1)=f(2,3)g(1,-1)=f(3,1)g(1,0)=f(3,2)g(1,1)=f(3,3)平移后的图像

22、:第二、将图像以坐标原点为轴顺钟向转过30度计算旋转后的图像大小 宽度:w=w0cos(a)+H0sin(a)高度:H=H0cos(a)+w0sin(a)因此,旋转后的图像:4*1.3665w 4*1.3665H 旋转后的图像与未旋转图之间的对应关系如下:旋转后的图像坐标用x2,y2表示,未旋转的图像坐标用x1,y1表示。1cos()xrb1sin()yrb2cos()xrbacos()cos()sin()sin()rbarba11cos()sin()xaya2sin()yrbasin()cos()cos()sin()rbarba11cos()sin()xaya2121cos()sin()0s

23、in()cos()000111xxaayaay由新图像找原图像中的对应点用逆矩阵1212cos()sin()0sin()cos()000111xxaayaay 122cos()sin()xxaya122sin()cos()yxaya 新图像用 p(s,t,),表示,原图像用 g(u,v),表示有:S(-2)=u(-2.732)t(-2)=v(-2.732)s(-1)=u(-1.366)t(-1)=v(-1.366)S(0)=u(0)t(0)=v(0)s(1)=u(1.366)t(1)=v(1.366)s(2)=u(2.732)t(2)=v(2.732)p(-2,-2)=g(-2,-2)p(-2

24、,-1)=g(-2,-1)p(-2,0)g(-2,1)p(-2,1)=g(-2,1)p(-2,2)=g(-2,2)p(-1,-2)=g(-1,-2)p(-1,-1)=g(-1,-1)p(-1,0)g(-1,0)p(-1,1)=g(-1,1)p(-1,2)=g(-1,2)P(0,-2)=g(0,-2)p(0,-1)=g(0,-1)p(0,0)g(0,0)p(0,1)=g(0,1)p(0,2)=g(0,2)p(1,-2)=g(1,-2)p(1,-1)=g(1,-1)p(1,0)g(1,1)p(1,1)=g(1,1)p(1,2)=g(1,2)P(2,-2)=g(0,-2)p(2,-1)=g(0,-1

25、)p(2,0)g(0,0)p(2,1)=g(0,1)p(2,2)=g(0,2)经过旋转的图像如下用白色填充找不到的象素点得道的图像A,用深色填充找不到的象素点得道的图像BAB2、将此图放大2倍M*N=6*6 用g(u,v)表示放大后的图像,f(x,Y)表示原图 u(0)=X(0)v(0)=y(0)u(1)=x(0.5)v(1)=y(0.5)u(2)=x(1)v(2)=y(1)u(3)X(1.5)v3=Y(1.5)u(4)=X(2)v(4)=Y(2)u(5)=X(2.5)v(5)=Y(2.5)g(0,0)=f(0,0)g(0,1)=f(0,0.5)g(0,2)=f(0,1)g(0,3)=f(0,

26、1.5)g(0,4)=f(0,2)g(0,5)=f(0,2.5)g(1,0)=f(0.5,0)g(1,1)=f(0.5,0.5)g(1,2)=f(0.5,1)g(1,3)f(0.5,1.5)g(1,4)=f(0.5,2)g(1,5)=f(0.5,2.5)g(2,0)=f(1,0)g(2,1)=f(1,0.5)g(2,2)=f(1,1)g(2,3)=f(1,1.5)g(2,4)=f(1,2)g(2,5)=f(1,2.5)g(3,0)=f(1.5,0)g(3,1)=f(1.5,0.5)g(3,2)=f(f(1.5,1)g(3,3)=f(1.5,1.5)g(3,4)=f(1.5,2)g(3,5)=f

27、(1.5,2.5)g(4,0)=f(2,0)g(4,1)f(2,0.5)g(4,2)=f(2,1)g(4,3)=f(2,1.5)g(4,4)=f(2,2)g(4,5)=f(2,2.5)g(5,0)=f(2.5,0)g(5,1)f(2.5,0.5)g(5,2)=f(2.5,1)g(5,3)=f(2.5,1.5)g(5,4)=f(2.5,2)g(5,5)=f(2.5,2.5)3、对此图作水平镜像在坐标系中以图像宽度为轴对图像作水平镜像。设原图像中的点为P0(x0,y0),镜像后的点为p(x,y),图像宽度为w。则有:X=w-x0Y=y0矩阵形式001001010011xxwyy 2、已知边长为1c

28、m的44的图像f(x,y)如下:A、将它沿p(x,Y)(60,120)与x轴成30度的直线上放大120,写出几何变换公式B、分别用最临近插值和双线性插值求f(2.3,3.2)的值 A、首先对其平移,平移后的图像中心为p(60,120).平移后的图像用f(x1,y1)表示,原图像用g(x,y).X1=X-60 Y1=Y-120 矩阵为1110600112000111xxyy 逆运算为:160 xx1120yy逆矩阵为:1110600112010011xxyy 第二、将图像以坐标原点为轴顺钟向转过30度 宽度:w=w0cos(a)+sin(a)高度:H=w0cos(a)+sin(a)因此,旋转后的图像:4*1.3665w 4*1.3665H 2cos()xrbacos()cos()sin()sin()rbarba11cos()sin()xaya2sin()yrbasin()cos()cos()sin()rbarba11cos()sin()xaya2121cos()sin()0sin()cos()000111xxaayaay由新图像找原图像中的对应点用逆矩阵1212cos()sin()0sin()cos()000111xxaayaay 122cos()sin()xxaya122sin()cos()yxaya

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(数字图像处理几何变换课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|