图像平移、旋转、仿射变换、投影变换
目录
一、目标
掌握图像的几何变换,包括图像的平移、旋转、仿射变换和投影变换。
二、知识点
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');

最低0.47元/天 解锁文章
554

被折叠的 条评论
为什么被折叠?



