# Importar la biblioteca OpenCV para visión por computadora import cv2 # Importar NumPy para operaciones numéricas import numpy as np # Importar Matplotlib para visualización de gráficos import matplotlib.pyplot as plt # Obtener la lista de todos los elementos disponibles en el módulo aruco list = dir(cv2.aruco) # Imprimir mensaje indicando los diccionarios ArUco disponibles print("Available ArUco dictionaries:") # Iterar sobre cada elemento de la lista for name in list: # Verificar si el nombre comienza con "DICT_" if name.startswith("DICT_"): # Imprimir el nombre del diccionario print(name) # Definir el diccionario ArUco que se va a utilizar (4x4 con 50 marcadores) aruco_dict = cv2.aruco.getPredefinedDictionary(cv2.aruco.DICT_4X4_50) # Iterar para generar marcadores con IDs del 0 al 49 for id in range(50): # Generar la imagen del marcador ArUco para el ID especificado (200x200 píxeles) marker_image = cv2.aruco.generateImageMarker(aruco_dict, id, 200) # Crear una subfigura en una cuadrícula de 5 filas x 10 columnas plt.subplot(5, 10, id + 1) # Mostrar la imagen del marcador en escala de grises plt.imshow(marker_image, cmap='gray', interpolation='nearest') # Ocultar los ejes de la subfigura plt.axis('off') # Hide axes # Añadir título con el ID del marcador plt.title(f'{id}') # Guardar la imagen del marcador en un archivo PNG cv2.imwrite(f'marker_DICT_4X4_50_{id}.png', marker_image) # Mostrar todas las subfiguras en la ventana plt.show()