Affine Transformations(仿射变换)

本教程介绍了如何使用OpenCV的cv::warpAffine和cv::getRotationMatrix2D函数实现仿射变换和旋转,包括从三个点获取仿射变换矩阵并应用到图像上。
摘要由CSDN通过智能技术生成

英文版原文链接
先修教程:Remapping(重映射)
下一教程:Histogram Equalization(直方图均衡化)

结果

  • 在编译代码之后,我们可以将图像的路径作为参数提供给它。例如,像这样的图片:
    在这里插入图片描述
  • 应用第一个仿射变换后得到:
    在这里插入图片描述
  • 最后,在应用一个负的旋转(记住负的意思是顺时针)和一个比例因子之后,我们得到:
    在这里插入图片描述

目标

此教程我们将学会:

原理

什么是仿射变换?

1、以矩阵乘法(线性变换)和向量加法(平移变换)的形式表示的一种变换。
2、由上可知,我们可以用仿射变换来表示:

  • a、旋转(线性变换)
  • b、平移(向量加法)
  • c、尺度变化(线性变换)

可以看到,在本质上,仿射变换表示两个图像之间的关系。
3、表示仿射变换的常用方法是使用一个2 × 3的矩阵。
A = [ a 00 a 01 a 10 a 11 ] 2 × 2 B = [ b 00 b 10 ] 2 × 1 A = \begin{bmatrix} a_{00} & a_{01} \\ a_{10} & a_{11} \end{bmatrix}_{2 \times 2} B = \begin{bmatrix} b_{00} \\ b_{10} \end{bmatrix}_{2 \times 1} A=[a00a10a01a11]2×2B=[b00b10]2×1
M = [ A B ] = [ a 00 a 01 b 00 a 10 a 11

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值