Matlab图像处理系列——图像几何变换之平移、镜像、转置、缩放、旋转 本节目录 本节内容 图像几何变换,又称为图像空间变换,将一幅图像中的坐标位置映射到另一幅图像中的新坐标位置。关键是确定这种图像映射关系,以及映射过程中的变换参数。 几何变换不改变图像的像素值,只是在图像平面上进行像素的重新安排。一个几何变换需要两部分运算:首先使空间变换所需要的运算,比如平移、选择和镜像等。用来表示输入图像与输出图像之间的像素映射关系;同时还需要使用灰度插值算法,按照这种变换关系进行计算,输出图像的像素可能被映射到输入图像的非整数坐标上。 一、图像平移 1、图像平移概念 图像平移就是将图像中所有的点按照指定的平移量水平或者垂直移动。
原图像上一点(x0,y0),图像水平平移量为Tx,垂直平移量为Ty,平移之后的坐标点(x1,y1),满足x1=x0-Tx;y1=y0-Ty。 2、图像平移仿真 Matlab提供了tranlate用于素的平移。 translate(polyin,x,y) 第一个素指定x方向上的平移距离,第二个素指定y方向上的平移距离。
二、图像镜像 1、图像镜像概念 镜像变换,分为水平镜像和竖直镜像。 水平镜像,将图像左半部分和右半部分以图像竖直中轴线为中心,进行轴对称。
竖直镜像,将图像上半部分和下半部分以图像水平中轴线为中心,进行轴对称。
2、图像镜像仿真 Matlab提供imwarp函数完成二维空间变换。 affine2d,对象存储有关二维仿射几何变换的信息,并支持正向变换和逆变换。 imwarp,根据几何变换tform来变换数值、逻辑或分类图像。
三、图像转置 1、图像转置概念 图像转置,将图像像素的x坐标和y坐标互换。图像的大小也会随之改变,高度和宽度互换。
2、图像转置仿真
四、图像缩放 1、图像缩放概念 图像缩放是指图像大小按照指定的比率放大或缩小。
图像x轴方向的缩放比为Sx,y轴方向的缩放比为Sy,则
直接根据缩放公式计算得到的目标图像中,某些映射原坐标可能不是整数,无法找到对应的像素位置,因此将它最邻近的整数坐标位置(0,0)或(0,1)处的像素灰度赋值给它,也就是所谓的最近邻插值。 2、图像缩放仿真 Matlab提供了imresize函数进行调整图像大小。 imresize,将图像的长宽大小缩放scale倍之后的图像。输入图像可以是灰度、RGB 或二值图像。如果输入图像有两个以上维度,则 imresize 只调整前两个维度的大小。如果scale在 [0, 1] 范围内,则输出图像比输入图像小。如果scale大于1,则输出图像比输入图像大。默认情况下,imresize使用双三次插值。
五、图像旋转 1、图像旋转概念 图像旋转,将图像围绕某一指定点旋转一定的角度,旋转通常也会改变图像的大小。 以原点为中心的图像旋转,点P0(x0,y0)绕原点逆时针旋转角度θ到达点P1(x1,y1)。
L=|OP|,x0=Lcosα,y0=Lsinα x1=Lcos(α+θ)=cosθcosα-sinθsinα y1=Lsin(α+θ)=sinθcosα+cosθsinα 若令L=1,则
以任意点为中心的图像旋转,将平移和选择操作结合。 先进行坐标系平移,在以新的坐标原点为中心旋转,之后将新原点平移回原坐标系的原点。 ①将坐标系I变成II; ②将改点顺时针旋转θ角; ③将坐标系II变回I。
2、图像旋转仿真 Matlab提供了函数imrotate来实现图像中心的旋转变换函数。 imrotate,将图像围绕其中心点逆时针方向旋转angle度。要顺时针旋转图像,请为angle指定负值。imrotate使输出图像足够大,可以包含整个旋转图像。默认情况下,imrotate使用最近邻点插值,将输出图像中位于旋转后的图像外的像素的值设置为 0。
六、Matlab仿真源码 1、图像平移仿真源码 2、图像镜像仿真源码 3、图像转置仿真源码 4、图像缩放仿真源码 5、图像旋转仿真源码
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/72232.html