ArUco marker in a calibrated image

Hi :slight_smile:

I am currently working on detecting ArUco markers in an image and then later want to transfer the x/y position of the marker into the coordinate system of my SCARA robot. I have already calibrated the camera using the checkerboard pattern.

Now I asked myself if cv::undistort() has to be applied to the captured image before.
If so, why can I give the functions cv::aruco::detectMarkers() and cv::aruco::estimatePoseSingleMarkers() the cameraMatrix and the distCoeffs?

I would appreciate your help very much!

You do not have to undistort your image since the functions you mentioned will take care of it.

The latest Aruco version is available on sourceforge (ArUco download | and it is provided with example scripts. If you give a look at aruco_test.cpp which reads a camera stream and displays the markers, you will see that they not not undistort the image.

1 Like

Thank you for your answer! That helps me a lot.
I will have a look at the examples you mentioned.