triangulate 3d points from a stereo camera and chessboard.
Hi, I have a calibrated stereo camera, so i have the extrinsics, intrinsics and dist cooeffs.
I have a chessboard, and using :
bool findChessboardCornersAndDraw(Mat inputLeft, Mat inputRight) {
_leftOri = inputLeft;
_rightOri = inputRight;
bool foundLeft = false, foundRight = false;
cvtColor(inputLeft, inputLeft, COLOR_BGR2GRAY);
cvtColor(inputRight, inputRight, COLOR_BGR2GRAY);
foundLeft = findChessboardCorners(inputLeft, boardSize, cornersLeft, CALIB_CB_ADAPTIVE_THRESH | CALIB_CB_NORMALIZE_IMAGE);
foundRight = findChessboardCorners(inputRight, boardSize, cornersRight, CALIB_CB_ADAPTIVE_THRESH | CALIB_CB_NORMALIZE_IMAGE);
drawChessboardCorners(_leftOri, boardSize, cornersLeft, foundLeft);
drawChessboardCorners(_rightOri, boardSize, cornersRight, foundRight);
_leftOri = displayMode(_leftOri);
_rightOri = displayMode(_rightOri);
if (foundLeft && foundRight) {
return true;
}
else {
return false;
}
}
I get the chessboard points. What i need to do now, is write a function that returns the 3d triangulated coordinates of those points, in relation to the camera.
Is there a function existing that will do this for me? Should I use:
cv::triangulatePoints(cam0,cam1,cam0pnts,cam1pnts,pnts3D);
Thank you!