machinevisiontoolbox.Image.fiducial

Image.fiducial(dict='4x4_1000', K=None, side=None)

Find fiducial markers in image

Parameters:
  • dict (str, optional) – marker type, defaults to “4x4_1000”

  • K (ndarray(3,3), optional) – camera intrinsics, defaults to None

  • side (float, optional) – side length of the marker, defaults to None

Returns:

markers found in image

Return type:

list of Fiducial instances

Find ArUco or ApriTag markers in the scene and return a list of Fiducial objects, one per marker. If camera intrinsics are provided then also compute the marker pose with respect to the camera.

dict specifies the marker family or dictionary and describes the number of bits in the tag and the number of usable unique tags.

dict

tag type

marker size

number of unique tags

4x4_50

Aruco

4x4

50

4x4_100

Aruco

4x4

100

4x4_250

Aruco

4x4

250

4x4_1000

Aruco

4x4

1000

5x5_50

Aruco

5x5

50

5x5_100

Aruco

5x5

100

5x5_250

Aruco

5x5

250

5x5_1000

Aruco

5x5

1000

6x6_50

Aruco

6x6

50

6x6_100

Aruco

6x6

100

6x6_250

Aruco

6x6

250

6x6_1000

Aruco

6x6

1000

7x7_50

Aruco

7x7

50

7x7_100

Aruco

7x7

100

7x7_250

Aruco

7x7

250

7x7_1000

Aruco

7x7

1000

original

Aruco

?

?

16h5

AprilTag

4x4

30

25h9

AprilTag

5x5

35

36h10

AprilTag

6x6

?

36h11

AprilTag

6x6

587

Example:

  File "/opt/hostedtoolcache/Python/3.9.20/x64/lib/python3.9/code.py", line 90, in runcode
    exec(code, self.locals)
  File "<input>", line 1, in <module>
NameError: name 'fiducials' is not defined
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.9.20/x64/lib/python3.9/code.py", line 90, in runcode
    exec(code, self.locals)
  File "<input>", line 1, in <module>
NameError: name 'fiducials' is not defined
Note:

side is the dimension of the square that contains the small white squares inside the black background.

References:
  • Robotics, Vision & Control for Python, Section 13.6.1, P. Corke, Springer 2023.

Seealso:

Fiducial