其他分享
首页 > 其他分享> > opencv和halcon标定参数结果对比

opencv和halcon标定参数结果对比

作者:互联网

 在Stake Overflow里面有人讨论过这个问题,当我们用Opencv和halcon一起编程序的时候,需要考虑两者参数的不同,现在碰到的问题就是,我在已经知道内参矩阵的前提之下,想要求出外参矩阵,而内参是用halcon求出来的,vs中想用opencv写标定外参的程序,两者的参数表达方式不一样。

 c++ - HALCON to OpenCV Distortion Coefficients Convertion - Stack Overflow

 在HALCON中有两种标定方式

首先是面扫描(多项式)

 

 还有就是面扫描(除法)

 

除法式校正: 

U = u / (1 + Kappa*(u*u + v*v))

V = v/(1+ Kappa*(u*u + v*v))

 多项式矫正:

U = u + u*(K1*r*r + K2*r*r*r*r + K3*r*r*r*r*r*r)+ 2*P1*u*v + P2*(r*r + 2*u*u)

V = v + v*(K1*r*r + K2*r*r*r*r + K3*r*r*r*r*r*r)+ P1*(r*r + 2*v*v)+ 2*P2*u*v

下面是Opencv标定出来的结果:

 

 再看opecnv的标定文档里面所描述的

 看来opencv标定畸变系数对应的是HALCON的多项式

但是它的畸变系数顺序是:k1,k2,p1,p2,k3

 

还要注意的有,一些畸变消去算法用的是除法

 这里面需要注意的挺多的

标签:多项式,标定,HALCON,opencv,畸变,halcon
来源: https://blog.csdn.net/weixin_51229250/article/details/120812728