matlab图像的几何变换(一)

1 平移

所有像素加上或减去指定的水平或垂直偏移量

I=imread('songshu.jpg');
I=double(I);
B=zeros(size(I));
H=size(I);
move_x=100;
move_y=150;
B(move_y+1:H(1),move_x+1:H(2),1:H(3))=I(1:H(1)-move_y,1:H(2)-move_x,1:H(3));%从move_y+1到H(1),从move_x+1到H(2),从1到H(3)
subplot(1,2,1),subimage(uint8(I))
title('原图像')
subplot(1,2,2),subimage(uint8(B))
title('平移变换');
maketform

2 图像的镜像变换

f=maketform(P…….)
P:
affine 仿射变换形式
projective 投影变换形式
cuetom 自定义函数变换形式
box 仿射变换另一种参数形式
composite 该参数实现多次调用tformfwd功能
函数功能:实现图像的各种几何变换

在matlab中,简单的变换可以直接用单个函数实现。图像缩放使用:
g = imresize(f, scale);
g = imresize(f, [ROW COL]);
图像旋转使用:
g = imrotate(f, angle);
图像剪切使用:
g = imcrop(f, [X, Y, WIDTH, HEIGHT]);
在matlab中使用imtransform实现图像的空间变换。语法是
g = imtransform(f, tform, interp);
其中,interp可以是’nearest’,’bilinear’或者’bicubic’。

A=imread('songshu.jpg');
A=double(A);
figure(1),imshow(uint8(A));
H=size(A);
figure(2),B(1:H(1),1:H(2),1:H(3))=A(H(1):-1:1,1:H(2),1:H(3));%垂直镜像
imshow(uint8(B));
figure(3),C(1:H(1),1:H(2),1:H(3))=A(1:H(1),H(2):-1:1,1:H(3));%水平镜像
imshow(uint8(C));
  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值