> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/spanish/function-blocks/blocks-reference/detections-shapes/detectors/data-matrix-reader2.md).

# Data Matrix Reader2

Este bloque de función decodifica códigos Data Matrix a partir de una imagen y devuelve los valores de texto decodificados. Es adecuado para leer uno o varios símbolos Data Matrix presentes en un fotograma.

## 📥 Entradas

`Data Matrix Image`\
Proporcione una imagen (en escala de grises o color) que contenga símbolos Data Matrix a decodificar.

## 📤 Salidas

`Data`\
Esta salida devuelve una lista de cadenas de texto decodificadas encontradas en la imagen de entrada.

## 🕹️ Controls

`Timeout`\
Límite de tiempo en milisegundos para esperar la decodificación. Aumentarlo da más tiempo al bloque para detectar símbolos tenues o difíciles.

## ⚙️ Mecanismo de ejecución

Al evaluarse, el bloque examina la imagen proporcionada en busca de símbolos Data Matrix e intenta decodificar cada uno dentro del `Timeout` configurado. Si se encuentran símbolos, sus valores de texto decodificados se retornan como una lista a través de la salida `Data`. Si no se encuentra ninguno, se devuelve una lista vacía.

## 🎯 Features

* Detecta y decodifica múltiples símbolos Data Matrix en una sola imagen.
* Devuelve los valores decodificados como cadenas de texto sencillas para un uso posterior fácil.
* Control de timeout sencillo para balancear velocidad y robustez de detección.

## 📝 Usage instructions

1. Proporcione una fuente de imagen a `Data Matrix Image` — por ejemplo desde un bloque de cámara o una imagen cargada.
2. Opcionalmente ajuste `Timeout` para permitir más tiempo en lecturas difíciles.
3. Use la salida `Data` para acceder a los valores decodificados para registro, visualización o procesamiento adicional.

## 💡 Tips and Tricks

* Si el símbolo objetivo está en una zona pequeña, primero recorte usando `Image ROI Select` para que el bloque procese solo la región relevante.
* Mejore la fiabilidad redimensionando la entrada con `Image Resize` para aumentar los píxeles del símbolo.
* Limpie imágenes ruidosas con `Blur`, `Denoising` o `Image Adaptive Threshold` antes de alimentar este bloque.
* Use `Show Image` para previsualizar el fotograma exacto que se está analizando mientras ajusta el preprocesado.
* Guarde fotogramas de ejemplo con `Image Logger` o `Image Write` para análisis y ajuste offline.
* Si espera otros tipos de códigos (QR, códigos de barras lineales), pruebe `Barcode Reader` como alternativa para esos formatos.
* Si los símbolos pueden estar rotados, pruebe `Image AutoRotator` o recorte diferentes orientaciones vía herramientas ROI.

## 🛠️ Troubleshooting

* No hay valores decodificados: compruebe iluminación y contraste, recorte al símbolo con `Image ROI Select`, aumente `Timeout` o amplíe la imagen con `Image Resize`.
* Texto parcial o distorsionado: asegúrese de que el símbolo no esté desenfocado — intente eliminar el desenfoque o use una entrada de mayor resolución.
* Falsos negativos en fondos ruidosos: aplique `Image Adaptive Threshold` u otros filtros para mejorar la separación primer plano/fondo.
* Muchos símbolos pero solo algunos decodificados: procese cada ROI por separado o aumente el `Timeout` y mejore la calidad de imagen para los símbolos faltantes.
