0

我已经校准了一对相机,知道它们的内在和外在参数。知道他们都在看平面,如果我在其中一个图像中定义了一些点,我怎样才能在另一张图像中得到这些点?

相机彼此非常接近,因此假设没有任何遮挡,两者都可以看到同一个物体。

是否有一个 openCV 函数或一组函数来执行此操作?我的观点是世界上的 Z=0。

基本上:

P_CAM1=(200,300) -> P_CAM2= ?
4

1 回答 1

0

答案:

  1. 不失真的图像。cv::undistort
  2. 计算P1ccdf = A^(-1)*P1-> F=1 世界参考坐标中的 P1 点。
  3. 为此计算世界参考点Z=0
    • 计算世界上的光学中心坐标:Copt1=[0,0,0,1]TCopt1w=-R1t*T1
    • 计算 Coptw1 和 P1ccdf 之间的向量:使用一些数学 ->V1w=R1T*P1ccdf
    • Coptw1+lambda*V1w=[Pxw,Pyw,0]T->lambda=-cpotw(z)/V1(z)
    • Coptw1+lambda*V1w=[Pxw,Pyw,0]T=P1w
  4. 保护世界点进入cam2
    • P1ccd2f = R2T2 *[Pxw Pyw 0 1]T
    • P1ccd2f=P1ccd2f/P1ccd2f(3)
    • P2=A2*P1ccd2f

在哪里

于 2013-03-19T09:42:10.910 回答