OpenCV——几何变换

本文详细介绍了OpenCV中的几何变换,包括仿射变换的平移、缩放、旋转,以及如何计算仿射矩阵。此外,还讨论了投影变换和极坐标变换,涉及将笛卡儿坐标转换为极坐标以及利用极坐标进行图像变换的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

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 倍。可以将该变换过程理解为先将原点平移到中心点,再以原点为中心进行缩放,然后移回坐标原点,用矩阵形式可以表示为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值