• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
搬运工_阿壮
博客园    首页    新随笔    联系   管理    订阅  订阅

图像几何变换之仿射变换

1. 原理

  仿射变换(Affine Transformation 或Affine Map)是一种二维坐标(x, y)到二维坐标(u, v)的线性变换,其数学表达式形式如下:

  

  对应的齐次坐标矩阵表示形式为:

  

  仿射变换保持了二维图形的“平直性”(直线经仿射变换后依然为直线)和“平行性”(直线之间的相对位置关系保持不变,平行线经仿射变换后依然为平行线,且直线上点的位置顺序不会发生变化)。非共线的三对对应点确定一个唯一的仿射变换。

2. 二维图像仿射变换

  图像处理中,可应用仿射变换对二维图像进行平移、缩放、旋转等操作。实例如下:

  

  经仿射变换后,图像关键点依然构成三角形,但三角形形状已经发生变化。

3. 原子变换

  仿射变换通过一系列原子变换复合实现,具体包括:平移(Translation)、缩放(Scale)、旋转(Rotation)、翻转(Flip)和错切(Shear)。

  a. 平移

    

    

  b. 缩放

    

    

  c. 旋转

    

    

  d. 翻转

    

    

  e. 错切

    错切亦称为剪切或错位变换,包含水平错切和垂直错切,常用于产生弹性物体的变形处理。

    

    

    

4. 程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
clc;
clear all;close all;
clc;
 
image = imread('jyy.png');
 
% u = 4 * x and v = 2 * y
T = [4 0 0; 0 2 0; 0 0 1];
 
% create spatial transformation structure.
transformation = maketform('affine', T);
 
% apply 2D spatial transformation to image.
transformationResult = imtransform(image, transformation);

  结果示例:

  

  

posted @ 2019-10-12 08:45  搬运工_阿壮  阅读(1316)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3