用Matlab R2015自带的双目标定程序进行立体标定,得到双目相机的参数,标定用的图片来自于OPENCV自带例子的图片,共13组,用Matlab标定共接受里面的7组照片,标定误差为0.18像素,把得到的参数存储到OPENCV里面进行立体校正发现,左右视图上的对应点不在一条直线上,然后又用Matlab进行立体校正,(此时进行校正的图片是标定时未被采用的一组)。同样的图片利用进行OPENCV进行标定和校正是没有问题的。
通过用Matlab自带的立体校正函数进行校正
I1 = imread('sceneReconstructionLeft.jpg');
I2 = imread('sceneReconstructionRight.jpg');
[J1, J2] = rectifyStereoImages(I1,I2,stereoParams);
发现本来I1,I2的大小是640,480的,结果校正后得到的J1,J2的大小为690,489,发现对应点也还是不在同一条直线上,求大神帮忙看看这个问题,谢了。
标定程序是:Stereo Calibration App
Stereo Calibtation APP
1.matlab标定参数定义和opencv不全相同,建议你matlab标定的用matla来校正,opencv标定结果用opencv来校正。opencv标定和校正的可以参考这个人写的(http://blog.csdn.net/zc850463390zc/article/details/48975263)
2.opencv校正的图片大小是可以自己定义的,matlab和halcon校正结果确实是自己优化之后的,并不影响结果。
http://bbs.csdn.net/topics/392065383
这个也是我问的问题,谢谢了
同问,遇到一样的问题