aruco_pose/draw: Be more strict about drawing axis

This commit is contained in:
sfalexrog
2019-03-21 21:52:20 +03:00
parent b4e8d9b18a
commit 04c33d5b03

View File

@@ -118,9 +118,12 @@ void _drawAxis(InputOutputArray _image, InputArray _cameraMatrix, InputArray _di
std::vector< Point3f > imagePointsZ;
_projectPoints(axisPoints, _rvec, _tvec, _cameraMatrix, _distCoeffs, imagePointsZ);
if (imagePointsZ[0].z < 0)
if (imagePointsZ[0].z < 0 ||
imagePointsZ[1].z < 0 ||
imagePointsZ[2].z < 0 ||
imagePointsZ[3].z < 0)
{
// Axis center is behind camera -> don't draw anything
// Any axis point is behind screen plane -> don't draw anything
return;
}