OpenCV——几何变换

目录

3.1仿射变换

3.1.1 平移

3.1.2 放大和缩小

3.1.3 旋转

3.1.4 计算仿射矩阵

3.1.5 插值算法

3.1.6 旋转函数Rotate

3.2投影变换

3.3极坐标变换

1. 将笛卡儿坐标转换为极坐标

2. 将极坐标转换为笛卡儿坐标

3. 利用极坐标变换对图像进行变换


 

3.1仿射变换

基本的仿射变换类型:平移、缩放、旋转。变换过程就是构造仿射变换矩阵A。

\left(\begin{array}{l}{\tilde{x}} \\ {\tilde{y}} \\ {1}\end{array}\right)=A\left(\begin{array}{l}{x} \\ {y} \\ {1}\end{array}\right)\boldsymbol{A}=\left(\begin{array}{ccc}{a_{11}} & {a_{12}} & {a_{13}} \\ {a_{21}} & {a_{22}} & {a_{23}} \\ {0} & {0} & {1}\end{array}\right),引入第三个数值为1的坐标,实现齐次坐标。

3.1.1 平移

(\tilde{x}, \tilde{y})=\left(x+t_{x}, y+t_{y}\right),假设任意空间坐标(\mathrm{x}, \mathrm{y}),沿x轴平移t_{x},再沿y轴平移t_{\mathrm{y}}

\left(\begin{array}{c}{\tilde{x}} \\ {\tilde{y}} \\ {1}\end{array}\right)=\left(\begin{array}{ccc}{1} & {0} & {t_{x}} \\ {0} & {1} & {t_{y}} \\ {0} & {0} & {1}\end{array}\right)\left(\begin{array}{l}{x} \\ {y} \\ {1}\end{array}\right)

3.1.2 放大和缩小

(\tilde{x}, \tilde{y})=\left(x_{0}+s_{x}\left(x-x_{0}\right), y_{0}+s_{y}\left(y-y_{0}\right)\right),显然,缩放后的坐标位置离中心点的水平距离变为原来的sx倍,离中心点的垂直距离变为原来的sy 倍。可以将该变换过程理解为先将原点平移到中心点,再以原点为中心进行缩放,然后移回坐标原点,用矩阵形式可以表示为:

\left(\begin{array}{c}{\tilde{x}} \\ {\tilde{y}} \\ {\tilde{y}}\end{array}\right)=\left(\begin{array}{ccc}{1} & {0} & {x_{0}} \\ {0} & {1} & {y_{0}} \\ {0} & {0} & {1}\end{array}\right)\left(\begin{array}{ccc}{s_{x}} & {0} & {0} \\ {0} & {s_{y}} & {0} \\ {0} & {0} & {1}\end{array}\right)\left(\begin{array}{ccc}{1} & {0} & {-x_{0}} \\ {0} & {1} & {-y_{0}} \\ {0} & {0} & {1}\end{array}\right)\left(\begin{array}{l}{x} \\ {y} \\ {1}\end{array}\right),(从右往左计算)

这里显示了齐次坐标的优势,以任意一点为中心的缩放仿射变换矩阵是平移矩阵和以(00)为中心的缩放仿射变换矩阵组合相乘而得到的。

3.1.3 旋转

首先计算顺时针旋转后的坐标 (\tilde{x}, \tilde{y})\cos \theta=\frac{x}{p}, \sin \theta=\frac{y}{p}  , 其中p代表(xy

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值