matlab 仿射变换函数,matlab 中的仿射变换函数

本文详细介绍了在MATLAB中执行二维空间仿射变换的步骤,包括定义变换参数、创建TFORM结构体以及使用imtransform函数进行变换。通过平移变换的例子,展示了如何创建变换矩阵、使用maketform函数生成TFORM结构体,并通过imtransform应用变换。同时,解释了如何通过XData和YData参数调整输出图像大小以显示变换效果。
摘要由CSDN通过智能技术生成

执行一般的二维空间变换包括如下三步:这三步是最基本的步骤

1.定义空间变换的参数;

2.创建变换结构体TFORM,它定义了你所要执行变换的类型;

TFORM结构体包含了执行变换需要的所有参数。你可以定义很多类型的空间变换,包括放射变换affine transformations(如平移translation,缩放scaling,旋转rotation,剪切shearing)、投影变换projective transformations和自定义的变换custom transformations。

创建结构体的方法有两种:使用maketform或者使用cp2tform。

3.执行变换。

通过将要变换的图像和TFORM结构体传递给imtransform函数即可实现变换。

实例

Step 1: 导入要变换的图像

Matlab提供了一个棋盘图像,可以以此作为例子,它的调用函数为checkerboard,它将创建一个80X80像素的图像。

cb = checkerboard; % 导入图像

figure,

imshow(cb)

Step 2: 定义空间变换

定义二维的空间变换需要一个3X3的变换矩阵,也可以通过在输入图像和输出图像上指定对应点的方式由maketform自动创建变换矩阵。这里使用如下的变换矩阵来定义空间平移变换

% 定义变换矩阵

xform = [ 1   0     0

0   1     0

40 40  1 ];

% 在这个矩阵中,xform(3, 1)定义了图像在水平方向上平移的像素数,xform(3, 2)定义了图像在垂直方向上平

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值