首页 > 其他分享 >仿射变换

仿射变换

时间:2023-12-21 21:59:25浏览次数:34  
标签:HomMat2D 变换 矩阵 参数 输入 仿射变换

1.平移 2.旋转 3.缩放 4.倾斜 5.翻转

仿射变换流程

1:获取特征点坐标、角度 2:计算仿射变换矩阵 3:对图像、区域、轮廓进行仿射变换 注:获取特征点坐标角度,除匹配和blob还有其它方法 只要能稳定的求出特征点即可

1.平移

hom_mat2d_identity (HomMat2DIdentity) 解释:定义一个对角为1的单位矩阵,它和任何矩阵相乘等于原矩阵本身 hom_mat2d_translate (HomMat2D, Tx, Ty, HomMat2DTranslate)· 功能:把平移添加到防射变换矩阵 HomMat2D(输入参数): 仿射变换矩阵-- HomMat2DIdentity Tx(输入参数): 沿x轴方向平移的距离 Ty(输入参数): 沿y轴方向平移的距离 HomMat2DTranslate(输出参数): 输出变换矩阵

2.旋转

hom_mat2d_rotate( :: HomMat2D, Phi, Px, Py : HomMat2DRotate) 功能:把旋转角度添加到仿射变换矩阵 HomMat2D(输入参数): 仿射变换矩阵 Phi(输入参数):旋转角度(单位弧度 Px(输入参数): 变换的固定点行坐标。 固定点是指以该点为支撑进行仿射变换(这里是指围绕这点进行旋转) Py:(输入参数): 变换的固定点列坐标 HomMat2DRotate(输出参数): 输出变换矩

3.缩放

hom_mat2d_scale( ::HomMat2D,Sx,Sy, Px, Py : HomMat2DScale) 功能:把缩放添加到仿射变换矩阵 HomMat2D(输入参数):仿射变换矩阵 Sx(输入参数):x轴方向的缩放因子 Sy(输入参数): y轴方向的缩放因子 Px(输入参数): 变换的固定点行坐标 Py(输入参数):变换的固定点列坐标 HomMat2DScale(输出参数): 输出变换矩阵 affine_trans_region (Region : RegionAffineTrans : HomMat2D, Interpolate :) 功能:对区域进行二维仿射变换(支持缩放、旋转、平移) 参数: Region (in):输入区域 RegionAffineTrans (out) : 仿射变换得到的区域 HomMat2D (in):仿射变换矩阵 nterpolate(in):插值算法 (constant,nearest_ neighbor) 默认值: nearest_neighbor 使用: 根据生成的变换矩阵执行仿射变换,执行仿射变换的算子通常有 affine_trans_image affine_trans_region affine_trans_contour_xld affine_trans_point 2d 即不管对于图像、区域、XLD都可以执行仿射变换  

4.移动旋转

vector_angle to_rigid(::Row1,Column1,Angle1,Row2,Column2,Angle2:HomMat2D 功能:根据点和角度计算刚性仿射变换矩阵,支持旋转和平移 Row1(输入参数):原始点行坐标 Column1(输入参数):原始点列坐标 Angle1(输入参数): 原始点角度 Row2(输入参数):变换的目的点行坐标 Column2(输入参数): 变换的目的点列坐标 Angle2(输入参数):变换的目的点角度 HomMat2D(输出参数): 输出仿射变换矩阵   基于原始点到目标点计算仿射变换矩阵

标签:HomMat2D,变换,矩阵,参数,输入,仿射变换
From: https://www.cnblogs.com/yuchne/p/17920191.html

相关文章

  • 可视化学习:CSS transform与仿射变换
    引言在几年前,我就在一些博客中看到关于CSS中transform的分析,讲到它与线性代数中矩阵的关系,但当时由于使用transform比较少,再加上我毕竟是个数学学渣,对数学有点畏难心理,就有点看不下去,所以只是随便扫了两眼,就没有再继续了解了。现在在学习可视化,又遇到了这个点,又说到这是可视化的......
  • 解析几何笔记:平面的仿射变换
    目录平面的仿射变换定义放缩变换重要性质点与向量的仿射变换仿射标架的仿射变换变积系数平面的定向平行四边形的仿射变换前后定向面积的特性变积系数及其特性参考平面的仿射变换定义定义平面的一个点变换τ,如果它在一个仿射坐标系中的公式为\[\begin{pmatrix}x'\\y'\end{p......
  • 仿射变换加密
    根据公式c=Ea,b(m) ☰a*m+b(mod26);如果已知a,b,加密非常简单,代码如下:#include<bits/stdc++.h>usingnamespacestd;inta,b;voidInput(){intp,val;charkey;charkey_2[1010];cout<<"请输入a,b的值(中间以空格分开)"<<endl;......
  • halcon 仿射变换
    一、两点计算:刚体仿射变换1、vector_to_rigid:1)根据两个以上点对计算计算刚性仿射变换矩阵,支持旋转和平移2、vector_angle_to_rigid1)根据点和角度计算刚性仿射变换矩阵,支持旋转和平移 ......
  • 矩阵旋转,仿射变换
    importnumpyasnpimportmathasmdefRx(theta):returnnp.matrix([[1,0,0],[0,m.cos(theta),-m.sin(theta)],[0,m.sin(theta),m.cos(theta)]])defRy(theta):returnnp.matrix([[......
  • Halcon图像的 BLOB 分析处理几何变换 &刚性仿射变换
    平移move_region缩放zoom_region镜像mirror_region倒置transpose_region6.2仿射变换刚性仿射变换vector_angle_to_rigid对图像,区域进行仿射变换算子:vector_angle_to_rigid(:: Row1, Column1, Angle1, Row2, Column2, Angle2 : HomMat2D)示例:vector_angle_......
  • Opencv 仿射变换(getRotationMatrix2D)
    getRotationMatrix2D()此函数给定一个旋转中心的坐标,旋转角度和缩放因子,返回一个仿射变换矩阵,可以使用Mat接收。imagewatch示意图如上当考虑缩放因子时,计算矩阵如官......
  • 仿射变换
    ......
  • centernet的数据增强操作--仿射变换
    https://blog.csdn.net/yang332233/article/details/110164808?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166988875516782428685782%2522%252C%2522scm%2......
  • 13、OpenCV4.4 仿射变换
    Parameters:src–Coordinatesoftriangleverticesinthesourceimage.dst–Coordinatesofthecorrespondingtriangleverticesinthedestinationimage.Thefunc......