Matlab中 imtransform 函数用法总结

imtransform——对图像进行二维空间变换

【功能】对图像进行二维空间变换。
【语法介绍】

  • B=imtransform(A,TFORM) 根据二维空间变换结构 TFORM 对图像 A 进行二维空间变换。TFORM 为变换结构,由函数 maketform 或 cp2tform 生成(函数 maketform 和 cp2tform 用于生成空间变换结构)。如果 A 的维数大于 2 (如真彩色图像),则将空间变换结构应用到 A 中所有的二维矩阵(A(:,:,i))中。
  • B=imtransform(A,TFORM,INTERP) 字符串参量 INTERP 指定空间变换插值方法参数,见下表。
参数描述
‘bicubic’双立方插值
‘bilinear’默认值,双线性插值
‘nearest’最近邻差值
  • [B,XDATA,YDATA]=imtransform(…) 返回输出图像 B 及输出空间XDATA-YDATA。输出参量 XDATA 和 YDATA 均为二元向量。XDATA 中的元素对应 x 轴,YDATA 中的元素对应 y 轴。
  • [B,XDATA,YDATA]=imtransform(…,param1,val1,param2,val2,…) 设定空间变换参数 paramN 的值valN。其他结果同上。

【实例1】对一幅灰度图像进行水平剪变换。

I=imread('cameraman.tif');      %读取图像
tform=maketform('affine',[1 0 0;.5 1 0;0 0 1]);           %创建二维仿射变换结构
J=imtransform(I,tform);                 %对图像进行水平剪变换
imshow(I)                    %显示原始灰度图像
figure;
imshow(J)                    %显示变换图像

在这里插入图片描述
【实例2】对图像进行透视变换。

I=imread('cameraman.tif');      %读取图像
udata=[0 1];  vdata=[0 1];      %定义输出空间
tform=maketform('projective',[0 0;1 0;1 1;0 1],...,
                                 [-4 2;-8 -3;-3 -5;6 3]);          %创建变换结构
%根据定义的结构进行变换
[B,xdata,ydata]=imtransform(I,tform,'bicubic',...,                 %定义插值方法 
                                    'udata',udata,...,             %定义输出空间                           
                                    'vdata',vdata,...,
                                    'size',size(I),...,            %定义输出图像大小
                                    'fill',128);                   %定义数据外空间灰度
imshow(I,'XDATA',udata,'YDATA',vdata)                    %显示原始图像
axis on
figure;
imshow(B,'XDATA',xdata,'YDATA',ydata)                    %显示变换图像
axis on

在这里插入图片描述


版权说明
文章作者:早知晓
博文链接:Click here
希望大家都走在开满鲜花的路上,加油鸭~


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

早知晓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值