0

Those occluded marker should be filtered out, but cv2.aruco.detectMarkers return the marker with incorrect corner location.

enter image description here

Yang
  • 269
  • 2
  • 6

1 Answers1

3

Set a lower polygonalApproxAccuracyRate fixed the issue, which will filter those markers with inaccurate corners.

The default value of polygonalApproxAccuracyRate is 0.03, I change to 0.008

parameters = cv2.aruco.DetectorParameters_create()
parameters.polygonalApproxAccuracyRate = 0.008
result = cv2.aruco.detectMarkers(
            gray, cv2.aruco.Dictionary_get(aruco_dict_idx), parameters=parameters
        )
Yang
  • 269
  • 2
  • 6