摄像头标定

今天在调试摄像头标定的时候发现了几个问题:

fs.open("result.xml", FileStorage::WRITE);
fs<<"cameraMatrix"<<cameraMatrix;
fs<<"distortCoeffs"<<distCoeffs;
fs.release();

字符串中间不能空格

 

初始化必须加(1)

vector< vector<Point3f> > objectPoints(1);

否则

objectPoints[0].clear();
for( int i = 0; i < boardheight; ++i )
for( int j = 0; j < boardwidth; ++j )
objectPoints[0].push_back(Point3f(float( j*squareSize ), float( i*squareSize ), 0));

这里会push不了

 

用了两组图像来标定,结果有很大差异

从两组图像本身来说,格点数量不一样,图像分辨率也不一样

希望能分析出一些结论

 

在用棋盘格标定的时候,应使得棋盘不仅有多个角度,还应注意要是棋盘遍历到画面的各个位置,否则如果只集中在中部的话,就会使得中部去畸效果较好,而四个角的效果反而变差的结果,这一点在手动标定的时候应该尤为注意 

 

稍后会来详细讨论一下

posted @ 2014-05-22 21:50  午后阳光*  阅读(490)  评论(0编辑  收藏  举报