整理思路,一步一步的调试:
1. 将6组平行的标定图加到toolbox中去标定RT,然后修改two2three中的RT改为直接 调用toolbox中RT。
效果:重建面型变形稍好,但上面部分精度还是不高,失败。
2. 在toolbox中利用已知的X_n和[R T]、内参,求解出Heikkilla矩阵的系数。
思路一:(思路错误)
在toolbox中利用世界坐标X_n*R+T(RT已求),算出无畸变的摄像机坐标(x y z)。然后利用reproject 投影得到的(u‘ v‘ 1)乘以内参的逆矩阵得到归一化的、 有畸变的摄像机坐标(x/z y/z 1),然后利用z*[X_n*R+T]=[内参]-1*(u‘ v‘ 1)=(x/z y/z 1),求出z后再带回去求出有畸变的(x' y' z'),最后将(x y z)和(x' y' z')联立求解Heikkilla系数。
思路二:
在toolbox中利用世界坐标X_n*R+T(RT已求),算出无畸变的摄像机坐标(x y z)。然后再将(x y z)归一化处理得出无畸变的(x/z y/z 1)。再有反向投影得出的(u‘ v‘ 1)带入方程z*(u‘ v‘ 1)=[内参]*[ x' y' z' ]中,变形得到:归一化的方程[x'/z' y'/z' 1 ]=(u‘ v‘ 1)*[内参]-1 ,求出有畸变的摄像机坐标[x'/z' y'/z' 1 ],最后将(x/z y/z 1)和[x'/z' y'/z' 1 ]联立求解Heikkilla系数。
效果:面型下部分交以前稍好,但面型上部分精度依然不高,失败。
3. 为了消除左相机CCD本身损坏带来的问题,将右相机做为基准相机进行反向的重建。(重建程序和左相机重建程序完全一样)
效果:比用左相机做为基准标定的面型稍差,也是面型下部拟合相对较好,上部拟合精度很差,失败。
4. 重新检查所有程序:
1、toolbox求内参和消畸变(Heikkilla)系数:没问题。
2、
5. 对12组的交错图片进行互补性实验,重建的左相机面型不如用平行组图标定的面型,失败。
6. 重新toolbox标定,然后进行左相机的标定,注意修改相机白点带来的相位值是零的点参与拟合的时候带来的误差,进行重建。
效果:成功!
改善:用datacollect收集人像图片的时候,采集灰度图面型会更加光滑,效果更好,而真彩图会出现面型粗糙,经过实验验证了,但原因未知。
修改datacollect程序。
基本完成。