第5章 几何变换MATLAB版

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在使用maketform函数进行变换结构定义 时,要求变换矩阵的最后一列除了最下面的 元素为1外,其他元素都必须为0。 maketform函数还有一种调用格式: T=maketform('affine', U, X),该形式只适 用于二维空间变换,U与X都是2行3列矩阵, 分别用来定义输入输出三角形的三个顶点, 通过这两个三角形决定仿射效果。
(2)线性插值法
为提高几何变换后的图像质量,常采用线 性插值法,该方法的原理是:当求出的分数 地址与像素点不一致时,求出周围四个像素 点的距离比,根据该比率,由4个邻域的像素 灰度值进行线性插值,如图5-9所示。 简化后的灰度值计算式如下
图5-9 线性插值法示意图
5.2.4 旋转变换
1.旋转变换概念
imtransform(I, T)
其中参数I是要变换的图像,T是由 maketform函数产生的变换结构。
在maketform(‘P’,…)函数中,参数P可 以是以下形式。 affine:仿射变换形式; projective:投影变换形式; custom:自定义函数进行变换; box:利用函数中的另外参数产生仿射变 换结构; composite:该参数实现多次调用 tformfwd功能。 maketform函数就是利用给定的参数建立 变换结构,然后把该变换结构赋给结构体变 换(例如赋给T),根据得到的结构体变量T, 调用imtransform(I, T)函数进行变换。
imcrop函数调用格式为:
● ● ● ● ● ● ● ● ● I2=imcrop(I) X2=imcrop(I, map) RGB2=imcrop(RGB) I2=imcrop(I, rect) X2=imcrop(X, map, rect) RGB2=imcrop(RGB, rect) […]=imcrop(x, y, …) [A, rect]=imcrop(…) [x,y, A, rect]=imcrop( …)
5.4.1 画图软件中的图像扭曲 5.4.2 图像二维空间变换
5.4.1 画图软件中的图像扭曲
在图像处理软件中,都提供了图像扭曲 的功能。
图5-22 Windows画图软件中的图像扭曲功能
5.4.2 图像二维空间变换
1.图像二维仿射变换
MATLAB使用imtransform函数完成图像空 间变换。 imtransform函数的调用格式为:
1.水平镜像
2.垂直镜像
3.对角镜像
5.3 图像复合变换
5.3.1 图像复合变换概念 5.3.2 图像复合变换的MATLAB 实现
5.3.1 图像复合变换概念
1.复合平移
2.复合比例
类似地,对某个图像连续进行比例变换, 最后合成的复合比例矩阵,只要对比例常量 做乘法运算即可。 复合比例矩阵如下
5.6.2 曲线围成的区域
在计算机中没有严格的连续曲线,所有的 曲线都是多边形。 所以可以用 roipoly 函数选取近似的曲边 区域。

sin (5-36) cos
图像旋转角度用矩阵形式表示为 x cos sin x (5-37) y sin cos y
所以,图像旋转可以分解成三次图像的 错切来实现。
5.2.6 图像的镜像变换
255 255 255 255 f f12 11 H 255 f 21 f 22 255 f n1 f n 2
255 f1n 1 f 2 n 1 f nn 1
5.2.2 图像的裁剪
图像裁剪就是在原图像或者大图像中裁剪 出图像块来,这个图像块一般是多边形形状 的。 图像裁剪是图像处理中的基本操作之一。
5.2 图像形状及位置变换
5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6
图像的平移变换 图像的裁剪 图像的比例缩放变换 旋转变换 图像的错切变换 图像的镜像变换
5.2.1 图像的平移变换
1.平移变换的几点说明
f11 f F 21 f n1
5.2.5 图像的错切变换
1.图像错切变换
(1)水平方向的错切
根据图像错切定义,在水平方向上的错 切是指图形在水平方向上发生了扭变。 图像在水平方向上错切的数学表达式为
x x by y y
(5-34)
(2)垂直方向错切
图像在垂直方向上的错切,是指图形在 垂直方向上的扭变。 图像在垂直方向上错切的数学表达式为
1.nlfilter函数
在MATLAB中,函数nlfilter是基本的邻 域操作函数。 其调用的一般形式为:
B=nlfilter(I, [M N],fun)
其中I是被处理的图像;[M N]表示滑动 块的高为M、宽为N;fun是要对滑动覆盖区域 进行操作的函数名,该函数可以是各种滤波 算子,也可以是任意定义的矩阵。
a1 T T1T2 0 0 0 0 a2 0 d1 0 0 1 0 0 d2 0 0 a1a2 0 0 1 0 0 d1d 2 0 0 0 1
(5-54)
3.复合旋转
5Leabharlann Baidu4 图像的几何变换
第5章几何变换
5.1 齐次坐标 5.2 图像形状及位置变换
5.3 图像复合变换 5.4 图像的几何变换
5.5 图像的邻域操作 5.6 图像区域选取
5.1 齐次坐标
数字图像是对一幅连续图像的坐标和色 彩都离散化了的图像,坐标的离散通过采样 完成,色彩的离散通过量化完成。 可以用二维数组表示数字图像,其中和 表示像素点的坐标位置,代表图像点的灰度 值(如果所处理的是彩色图像,则通过RGB值 表示)。 图像几何变换的基础是代数和几何学。
f12 f 22 fn2
f1n 1 f 2 n 1 f nn 1
f1n f2n f nn
0 0 G 0 0
0 f11 f 21 f n1
0 f12 f 22 fn2
0 f1n 1 f 2 n 1 f nn 1
x x y y dx
(5-35)
(3)利用错切实现图像的旋转
利用三角函数的性质,可以利用错切来 实现图像的旋转。因为
1 tan 2 1 sin 1 0
0 1 1 sin tan cos 2 sin 1
2.colfilt函数
MATLAB 中也经常使用函数 colfilt 进行邻 域操作运算。
3.blkproc函数
函数blkproc是专门进行分离块操作的函数。
5.6 图像区域选取
5.6.1 块选取函数 5.6.2 曲线围成的区域
5.6.1 块选取函数
函数imcrop是一个图像区域选取函数,不 过该函数选取的区域限定为矩形。 MATLAB 还 提 供 了 一 个 区 域 选 取 函 数 roipoly(),可以完成各种多边形块的选取功 能。
5.2.3 图像的比例缩放变换
图5-7 比例缩放
1.图像的比例缩小变换
(1)基于等间隔采样的图像缩小方法
(2)基于局部均值的图像缩小方法
2.图像的比例放大变换
(1)最近邻域法
一般地,按比例将原图像放大 倍时,如 果按照最近邻域法,则需要将一个像素值添 加在新图像的 的子块中。 式(5-26)为图像 的矩阵,该图像放大 3倍得到图像 的矩阵用式(5-27)表示。 图5-8为放大5倍的示意图,显然,如果 放大倍数太大,按照这种方法处理会出现马 赛克效应。
一般情况下,图像的旋转变换是指以图像 的中心为原点,将图像上的所有像素都旋转 同一个角度的变换,图像经过旋转变换之后, 图像的位置发生了改变,但旋转后,图像的 大小一般会改变。 和平移变换一样,在图像旋转变换中既可 以把转出显示区域的图像截去,也可以扩大 显示区域的图像范围以显示图像的全部。
对图像进行旋转变换时应注意以下几点。 (1)为了避免图像旋转之后可能产生的 信息丢失,可以先进行平移,然后进行图像 旋转。 (2)图像旋转之后,可能会出现一些空 白点,需对这些空白点进行灰度级的插值处 理,否则会影响旋转之后的图像质量。
2.图像二维投影变换
二维投影变换可以把一幅图像按照近大远 小的规律投影到一个平面上,产生立体的效 果。
5.5 图像的邻域操作
5.5.1 邻域操作 5.5.2 邻域操作的MATLAB实现
邻域操作指在图像处理时,输入要处理 像素的某邻域内各个像素值,输出要处理的 像素的新值。
5.5.1 邻域操作
5.5.2 邻域操作的MATLAB实现
相关文档
最新文档