网站开发实验报告三,wordpress您的主题支持一个菜单,做网站ui去哪儿接私活,线上运营方案力求5分钟直接了当的说明一个实际问题
cv2.getRotationMatrix2D 简介
用于生成图像旋转的仿射变换矩阵
参数包括#xff1a;center: 旋转的中心点#xff0c;通常是图像的中心。angle: 旋转角度#xff0c;以度为单位。正值表示逆时针旋转。scale: 缩放比例#xff0c;表…力求5分钟直接了当的说明一个实际问题
cv2.getRotationMatrix2D 简介
用于生成图像旋转的仿射变换矩阵
参数包括center: 旋转的中心点通常是图像的中心。angle: 旋转角度以度为单位。正值表示逆时针旋转。scale: 缩放比例表示在旋转时图像的缩放程度。
函数返回一个2x3的仿射变换矩阵与cv2.warpaffine 连用较多opencv中给出的仿射变换矩阵 [ α β ( 1 − α ) ⋅ center.x − β ⋅ center.y − β α β ⋅ center.x ( 1 − α ) ⋅ center.y ] α scale ⋅ cos ( angle ) , β scale ⋅ sin ( angle ) \begin{bmatrix} \alpha \beta (1 - \alpha) \cdot \text{center.x} - \beta \cdot \text{center.y} \\ -\beta \alpha \beta \cdot \text{center.x} (1 - \alpha) \cdot \text{center.y} \end{bmatrix}\\ \alpha \text{scale} \cdot \cos(\text{angle}),\quad\beta \text{scale} \cdot\sin(\text{angle}) [α−ββα(1−α)⋅center.x−β⋅center.yβ⋅center.x(1−α)⋅center.y]αscale⋅cos(angle),βscale⋅sin(angle)
这与旋转矩阵有何不同
在中学时我们学到向量x,y以原点为中心旋转一个角度angle则它的新坐标是( x ′ y ′ ) ( cos ( a n g l e ) − sin ( a n g l e ) sin ( a n g l e ) cos ( a n g l e ) ) ( x y ) \begin{pmatrix} x \\y\end{pmatrix} \begin{pmatrix} \cos(angle) -\sin(angle) \\ \sin(angle) \cos(angle) \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} (x′y′)(cos(angle)sin(angle)−sin(angle)cos(angle))(xy)
可以看到旋转矩阵的正负号与仿射变换不同真相就是
opencv中仿射变换矩阵按照 图像坐标系即左上角为原点0,0
而中学所熟悉的公式是按照 自然坐标系即左下角为原点0,0也就是笛卡尔坐标系图像处理中初学者很容忽视这个问题导致实操时卡bug
如果你还有时间可以浏览 opencv官方文档