The distance estimated (in cm: Because input size of ArUco Markers in cm too) using the code line after importing math module:
numpy.sqrt(tvecs[0][0][0]**2 + tvecs[0][0][1]**2 + tvecs[0][0][2]**2)
where tvecs
represent the translation vectors of the ArUco Marker obtained using the OpenCV Function in Python:
cv.estimateSinglePosemarkers(mtx, dst, .. )
alongside rvecs(Rotation Vectors)
obtained using Camera Matrix(mtx)
and Distortion Coefficent(dst)
in turn obtained by performing Camera Calibration (using a piece of code and a bunch of images of a checkerboard held at different angles)
In contrast, the distance estimated (in cm) using the code line after importing math module:
math.sqrt(tvecs[0][0][0]**2 + tvecs[0][0][1]**2 + tvecs[0][0][2]**2)
is pretty accurate(<<10%) at larger distances.
Has anybody run into this before? If so, why does using a different library make such a huge difference?