ZV_ESTAFFINE -- 估计仿射矩阵

类型

变换

描述

根据多点(至少3对)使用RANSAC(随机采样一致性)算法估计仿射变换矩阵。

仿射变换是对图形进行变换的一种变换类型,能对图形进行旋转、缩放、平移、斜切(也叫倾斜、错切)等变换,仿射变换具有保直性和平行性特点,即变换前后直线还是直线、平行线还是平行线,同理也可对空间二维坐标进行变换。根据前后点对估计仿射变换矩阵意味着前后点对可能并不是完全绝对的一一对应,可能会存在一定的偏差,偏差大于thresh的点视为离群点,小于等于thresh的点视为内联点,在估计过程中会剔除离群点而最终使用剩余的内联点来估计矩阵,估计出的矩阵会使得变换前后的点误差最小

语法

ZV_ESTAFFINE(from,to,mat,thresh,confidence,tab_inliners)

参数:

fromZVOBJECT类型,变换前的点,矩阵表示

toZVOBJECT类型,变换后的点,矩阵表示

matZVOBJECT类型,矩阵类型,估计的变换矩阵,23

thresh:点的投影误差阈值,误差小于等于thresh的点视为内内联点,建议值3

confidence:置信度,范围0-100之间,用于矩阵的估计,通常在9599之间就足够了,建议99,太接近100会降低估计速度,低于80-90可能会导致估计不准确

tab_inlinersTABLE索引,输出参数,对应输入参数fromto点集在迭代后点的选中状态,即内联点的选中状态为1,离群点的选中状态为0

适用控制器

支持ZV功能或者5系列以上的控制器

例子

ZVOBJECT src_mat, dst_mat, affine_mat

TABLE(0,0,0,2,2,5,5)'存储变换前的三个点的坐标

ZV_MATGENDATA(mat,2,3,0)'变换前的点的矩阵

TABLE(100,1,0,7,10,5,3)'存储变换后的三个点的坐标

ZV_MATGENDATA(mat,2,3,0)'变换前的点的矩阵

ZV_ESTAFFINE(src_mat,dst_mat,affine_mat,3,99,0)’使用变换前的点from和变换前后的点to估计出\仿射变换矩阵mat