Halcon中从两组点的对应关系生成仿射矩阵,及思考原理和代码实现_计算仿射矩阵原理-CSDN博客
之前这个里面写错了,vector_to_aniso不是仿射变换,只有5个自由度,所以假设6个自由度那种方式求得的结果是对不上的。如下图,e是等于-ab/d 的。
正如之前文章提到的
测试了两组数据,由点x变换到点y
x1:=[19,549]
x2:=[19,663]
x3:=[275,547]
x4:=[274,664]
y1:=[267,1134]
y2:=[331,1159]
y3:=[429,558]
y4:=[496,585]
用vector_to_aniso算子得到的变换矩阵为
[0.64363, 0.583832, -67.3593, -2.24947, 0.167049, 1087.92]
即[a,b,c,d,e,f]
这里面的e是等于-ab/d的。
而仿射变换有六个自由度,六个数是独立的,那个文章中得解矩阵计算结果和vector_to_hom_mat2d 这个算子的结果是一样的。