【图像平移、旋转、仿射变换、投影变换】

图像平移、旋转、仿射变换、投影变换

一、目标

掌握图像的几何变换,包括图像的平移、旋转、仿射变换和投影变换。

二、知识点

1. 图像平移(Translation)

• 定义 :将图像沿着x轴和y轴移动一定的距离,不改变图像的大小和方向。
• 原理 :通过定义平移向量,实现图像的位置调整。
• 特点 :
	○ 简单直接,适用于图像的对齐和拼接。
	○ 不改变图像的大小和方向。
• 使用技巧 :
	○ 根据需要调整平移向量的大小。
	○ 结合其他变换实现更复杂的操作。

示例代码 :
matlab

% 读取图像
img = imread('example.jpg');

% 定义平移量
tx = 50;  % 水平平移(正值向右,负值向左)
ty = 30;  % 垂直平移(正值向下,负值向上)

% 执行图像平移
translated_img = imtranslate(img, [tx, ty]);

% 显示原始图像和平移后的图像
figure;
subplot(1, 2, 1);
 imshow(img);
 title('原始图像');
subplot(1, 2, 2); 
imshow(translated_img);
 title('平移后的图像');

代码解释 :
• imread:读取图像文件(如 ‘example.jpg’),返回图像矩阵 img。
• imtranslate:接受两个参数:输入图像 img 和平移向量 [tx, ty]。
○ tx > 0 表示向右平移,tx < 0 表示向左平移。
○ ty > 0 表示向下平移,ty < 0 表示向上平移。
• figure 和 subplot:创建一个窗口并并排显示两张图像,方便对比。

运行结果:
在这里插入图片描述

2. 图像旋转(Rotation)

• 定义 :将图像绕着某一点旋转一定的角度。
• 原理 :通过定义旋转角度和中心点,实现图像的方向调整。
• 特点 :
	○ 可以调整图像的方向。
	○ 旋转中心默认为图像中心,也可以自定义。
• 使用技巧 :
	○ 根据需要调整旋转角度。
	○ 注意旋转后图像的边界处理。

示例代码 :
matlab

% 读取图像
img = imread('peppers.png');
% 定义旋转角度
angle = 45; % 顺时针旋转45% 应用旋转变换
rotatedImg = imrotate(img, angle);
% 显示结果
figure;
subplot(1, 2, 1);
imshow(img);
title('Original Image');
subplot(1, 2, 2);
imshow(rotatedImg);
title('Rotated Image');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值