This is in reference to pr2_plugs/checkerboard_pose_estimation/src/detector.cpp:
{{{
int ret = cvFindChessboardCornersLowres(&ipl, cvSize(width_, height_),
(CvPoint2D32f_)&points[0], &corners_found);
if (!ret) {
ret = cvFindChessboardCorners(&ipl, cvSize(width_, height_),
(CvPoint2D32f_)&points[0], &corners_found,
CV_CALIB_CB_ADAPTIVE_THRESH);
if(!ret) {
points.resize(corners_found);
return false;
}
}
}}}
When the lowres checkerboard detector is called, the first corner is not always consistent. This makes the pose estimation extremely unreliable.
detector.cpp should only rely on the standard opencv checkerboard detector in order to ensure a consistent first corner is chosen.
trac data: