# ReadIDMax

La función ReadIDMax se utiliza para localizar y decodificar símbolos 1D o 2D dentro de una región de interés. Se puede configurar la función para una variedad de símbolos, una serie de resultados y para tratar efectos de rotación y distorsiones de perspectiva. Se puede utilizar también opcionalmente para entrenar modelos de Data Matrix y código QR, así como verificar métricas de calidad.

### Símbolos 1D y códigos apilados

La función ReadIDMax permite la decodificación de múltiples símbolos 1D o apilados en una misma imagen, incluidos los siguientes tipos de códigos de barras:

- Código 128
- Código 39
- Intercalado 2 de 5
- UPC/EAN
- Código 93
- Codabar
- PDF 417

Nota: Los símbolos unidimensionales o apilados no requieren ningún entrenamiento.

#### Punto de patrón localizador 1D:

En el caso de los códigos de barras, los puntos de patrón localizador están centrados en las cuatro celdas de esquina del símbolo. El punto 0 está en la celda de la esquina superior izquierda, el punto 1 en la esquina inferior izquierda, el punto 2 en la esquina inferior derecha y el punto 3 en la esquina superior derecha.

### Símbolos 2D

La función ReadIDMax puede localizar y decodificar símbolos 2D de Data Matrix y códigos QR. La función puede localizar múltiples símbolos 2D, pero a diferencia de los símbolos 1D, todos los símbolos deben ser del mismo tipo. Por ejemplo, si la imagen contiene una combinación de símbolos Data Matrix y códigos QR, y el parámetro «Grupo de simbología» de la función se ha establecido para Data Matrix, la función ignora los símbolos de código QR y solo devuelve símbolos Data Matrix.

Se puede entrenar la función para que decodifique el mismo tipo de símbolos 2D, estableciendo para ello el tamaño de cuadrícula del símbolo, el tipo de símbolo 2D y el método de verificación y corrección de errores (ECC) a utilizar con el símbolo para verificar la precisión de los datos que contiene.

Nota: Cognex recomienda que se entrene la función cuando los símbolos 2D utilizados en la aplicación comparten las mismas características. Si los símbolos 2D pueden variar en tamaño de cuadrícula o polaridad, por ejemplo, no entrene la función y deje que la función tenga en cuenta los distintos ajustes posibles mientras decodifica el símbolo 2D.

Se puede mejorar el rendimiento de función ReadIDMax al entrenarla, sobre todo cuando todos los símbolos a decodificar comparten las mismas características, pero si no se entrena la función se permite que tenga la capacidad de decodificar una variedad más amplia de símbolos sin tener que reconfigurarla.

#### Punto de patrón localizador 2D:

Símbolos 2D de Data Matrix: En el caso de los símbolos de Data Matrix, los puntos de patrón localizador están centrados en las cuatro celdas de las esquinas. Una celda, a veces también denominada módulo, es un simple cuadrado que puede ser negro o blanco. Por ejemplo, un símbolo de 10 x 10 está formado por 100 celdas, blancas y negras. Una celda equivale a un bit de datos del símbolo. La intersección de dos líneas continuas forma el «límite en L». Durante el entrenamiento, la esquina de la L debe situarse en la esquina inferior izquierda. El punto 0 está en la celda en la esquina superior izquierda del símbolo, el punto 1 en la esquina inferior izquierda (donde se cruzan las líneas continuas), el punto 2 está en la esquina inferior derecha y el punto 3, en la celda de la esquina superior derecha.

Símbolos 2D de QR: En el caso de los símbolos QR, los puntos de patrón localizador están centrados en las cuatro celdas de las esquinas del símbolo. Los tres patrones de detección de posición del símbolo tienen forma de L.

Durante el entrenamiento, la esquina de la L debe situarse en la esquina superior izquierda. El punto 0 está en la celda de la esquina superior derecha del símbolo, el punto 1 en la esquina superior izquierda (donde el patrón de detección de posición central forma la esquina de la «L»), el punto 2 está en la esquina inferior izquierda y el punto 3 está en la celda de la esquina inferior derecha.

### Requisitos sobre la imagen 1D/2D

La configuración que requiere la función ReadIDMax antes de poder escanear símbolos 1D es mínima, pero se deben considerar las siguientes pautas para las imágenes de entrada:

- Todos los símbolos deben tener una longitud superior a 50 píxeles, mientras que la anchura máxima de cualquier módulo no debe superar los 10 píxeles.

Nota: Un módulo es el elemento más estrecho del símbolo (un espacio o una barra).

- En el caso de los símbolos lineales (en los que los módulos tienen distintas anchuras, pero tienen todos la misma altura), un módulo debe tener por lo menos una anchura de 1,6 píxeles y una altura de 50 píxeles.
- Debe haber una zona tranquila (un área en uno de los extremos del símbolo, que no contiene marca alguna) que tenga por lo menos el tamaño mínimo especificado en las especificaciones de impresión del tipo de simbología en cuestión.
- El contraste entre módulos y fondo debe ser de por lo menos 32 niveles de gris.
- La relación de aspecto de los píxeles no debe ser mayor que la de 1,35 a 1.

Los símbolos 2D tienen que cumplir menos requisitos. En general, deben tener una zona tranquila (o margen tranquilo) alrededor de los cuatro lados del símbolo, que debe ser igual de ancho que un módulo en el interior del símbolo.

### IDMax e IDQuick

La función ReadIDMax ofrece dos modos de procesar el algoritmo de decodificación:

- Escoja el modo IDQuick para una decodificación de alta velocidad de símbolos que están bien formados y que se ven con buen contraste.
- Escoja el modo IDMax para un procesamiento avanzado de imágenes con posibilidad de aplicar técnicas de análisis a imágenes complejas.

La función utiliza de forma predeterminada el modo IDMax. Sin embargo, experimente también con IDQuick para determinar el mejor rendimiento de la función en el caso de su aplicación.

#### Resultados

La función genera únicamente resultados para los símbolos que encuentra y decodifica. Para cada símbolo encontrado en la imagen, la función ReadIDMax genera los siguientes resultados a través de Vision Data Access functions:

- La cadena decodificada.
- La orientación angular del símbolo, en grados.
- Una ubicación (Y/X) del centro del símbolo.
- La simbología particular del símbolo.
- Códigos y modificadores de ISO/IEC para identificar de forma única la simbología de acuerdo con los estándares industriales.

Nota: La casilla de Verify debe estar seleccionada para que se generen resultados adicionales al de la cadena decodificada. Utilice la función ValidateIDData para procesar métricas de verificación adicionales con los símbolos decodificados.

## ReadIDMax Entradas

Nota: Mientras configure la hoja de propiedades de la función ReadIDMax, si desea ver el efecto de la modificación de valores de parámetros, pulse el botón OK para aceptar los cambios y cerrar la hoja de propiedades. La función ReadIDMax no permite visualizar resultados actualizados mientras la hoja de propiedades está abierta.

Parámetro | Descripción
Imagen | Este parámetro ha de utilizar Referencias de celda contenidas en una celda de la hoja de cálculo que contiene una estructura de datos Imagen; por defecto, este parámetro hace referencia a A0, la celda que contiene la estructura de datos Image devuelta por la función . Este parámetro puede hacer también referencia a otras estructuras de datos Image, como las devueltas por las Funciones Image del conjunto Vision Tools.
Elemento posicionador | Define la región de interés (RDI) con relación a un Fixture entrado o al sistema de coordenadas de imagen proporcionado por una función de Vision Tools. Establecer la RDI con relación al un elemento posicionador permite asegurar que si se gira o desplaza el elemento posicionador, se girará o desplazará en consonancia la RDI, manteniéndose fija la relación entre ambos. El valor de configuración predeterminado es (0,0,0), la esquina superior izquierda de la imagen.
X | El desplazamiento en X del origen, en coordenadas del elemento posicionador.
Y | El desplazamiento en Y del origen, en coordenadas del elemento posicionador.
Theta | La rotación desde el eje X de la imagen, en el sistema de coordenadas de imagen. (+/-360 grados en el sentido de las agujas del reloj)
Región | También conocida como región de interés (RDI), especifica la región de la imagen que se somete a análisis. Haga doble clic sobre el parámetro Región para crear un Modo gráfico interactivo que permite transformar y girar. Seleccione este parámetro y pulse el botón «Maximizar región» en la barra de herramientas de edición de tareas de la hoja de propiedades a fin de expandir automáticamente la región hasta cubrir toda la imagen.
X | El desplazamiento en X del origen, en coordenadas del elemento posicionador.
Y | El desplazamiento en Y del origen, en coordenadas del elemento posicionador.
Altura | El tamaño de la región en la dirección del eje X. Nota: Cuando lee símbolos 1D/apilados , la función ReadIDMax puede explorar una región de como máximo 2048 píxeles de alto por 2048 píxeles de ancho. Si los parámetros de Altura o Anchura se configuran con un valor superior a 2048 píxeles, la función da #ERR.
Ancho | El tamaño de la región en la dirección del eje Y. Nota: Cuando lee símbolos 1D/apilados , la función ReadIDMax puede explorar una región de como máximo 2048 píxeles de alto por 2048 píxeles de ancho. Si los parámetros de Altura o Anchura se configuran con un valor superior a 2048 píxeles, la función da #ERR.
Ángulo | La orientación en coordenadas del elemento posicionador.
Grupo de simbología | Especifica el conjunto de símbolos a leer.
1D/Apilados (por defecto) | Selecciona la lectura de códigos 1D y apilados.
Data Matrix | Selecciona la lectura de códigos Data Matrix.
Código QR | Selecciona la lectura de códigos QR.
Núm. máximo de resultados | Especifica el número máximo de símbolos a localizar y decodificar (1 a 128; por defecto = 1). Nota: Si el valor especificado de este parámetro supera el número de símbolos contenidos en la RDI, la función seguirá buscando el número especificado de símbolos. Si el número de símbolos contenidos en la RDI es variable, se puede reducir el tiempo de ejecución de la función disminuyendo el valor de ajuste del parámetro «Tiempo de espera».
Modo de decodificación avanzado | Especifica la configuración a utilizar para decodificar los grupos de simbología Data Matrix o 1D/apilados.
IDMax® (por defecto) | Lee únicamente los símbolos conformes; no intenta leer símbolos que no son conformes a la norma.
IDQuick™ | Se utiliza para símbolos que se ven distorsionados, deformados o sobre un fondo no uniforme. Este modo está diseñado para códigos con patrones localizadores «continuos», no para puntos separados.
Habilitar entrenamiento | Cuando está habilitado, entrena un modelo del primer símbolo Data Matrix o de código QR que lee. El entrenamiento de la función puede mejorar el rendimiento, sobre todo cuando todos los símbolos a decodificar tienen características similares. Se mantiene toda la información entrenada hasta que se deshabilite esta casilla de verificación. Para reentrenar un símbolo, hay que deshabilitar y volver a habilitar la casilla. Consejo: Se recomienda tener un solo símbolo en la Región cuando el entrenamiento está habilitado.
Desactivado (por defecto) | No se entrena un modelo.
Activado | Se entrena un modelo del primer símbolo leído.
Símbolos 1D y códigos apilados | Especifica el conjunto de símbolos 1D/apilados a leer (se pueden seleccionar y leer múltiples conjuntos de símbolos).
Código 128 | Selecciona la lectura del código 128. El código 128 es un símbolo alfanumérico de muy alta densidad que puede ser explorada bidireccionalmente. Esta simbología puede codificar el conjunto completo de 128 caracteres ASCII más cuatro caracteres que no son de datos. Un símbolo que utiliza la simbología del Código 128 codifica cada carácter mediante 11 módulos blancos o negros, y cada símbolo incluye un carácter de suma de comprobación.
Código 39 | Selecciona la lectura del código 39. El código 39 (también denominado código USS 39, BC39 y/o código 3 de 9) es una simbología muy utilizada que se ha desarrollado para sectores no minoristas y que permite codificar letras, dígitos y caracteres especiales como « % » y « / ». Un símbolo que utiliza la simbología del código 39 codifica cada carácter utilizando 5 barras y 4 espacios para un total de 9 elementos, y 3 de los 9 elementos son siempre anchos. El símbolo puede incluir un carácter de suma de comprobación para la detección de errores.
Intercalado 2 de 5 | Selecciona la lectura del código intercalado 2 de 5. El código intercalado 2 de 5 (también denominado I2of5, I-2/5 o ITF) es un código de longitud variable, únicamente numérico, que es bastante popular en aplicaciones de almacenamiento. Un símbolo basado en la simbología intercalada 2 de 5 codifica 2 caracteres en una unidad de 5 barras y espacios, en la que el carácter de posición par se codifica en barras mientras que el carácter de posición impar se codifica en espacios. La simbología intercalada 2 de 5 sólo puede codificar datos con una longitud numérica par. El símbolo puede incluir un carácter de suma de comprobación para la detección de errores.
UPC/EAN | Selecciona la lectura de UPC (código universal de producto) y EAN (sistema de numeración europeo de artículos). UPC es una simbología de longitud fija y únicamente numérica que puede ser explorada bidireccionalmente. El tamaño de un símbolo UPC puede variar para acomodarse a varios procesos de impresión, pero el código funciona mejor cuando la altura del símbolo excede la anchura del mismo. Las empresas europeas utilizan el sistema EAN generalmente equivalente al sistema UPC. El sistema UPC admite la versión A (versión normal) y la versión E (versión con supresión de ceros) del código de barras, así como codificaciones adicionales de dos y cinco caracteres. El sistema EAN admite códigos de barras EAN-8 y EAN-13, así como codificaciones adicionales de dos y cinco caracteres.
Código 93 | Selecciona la lectura del código 93. El código 93 codifica los mismos caracteres que el código 39, pero utiliza nueve elementos de código de barras por carácter en lugar de 15.
Codabar | Selecciona la lectura de Codabar (también conocida como USD-4 o código 2 de 7). Codabar es una simbología más antigua que codifica dígitos.
PDF 417 | Selecciona la lectura de PDF 417. PDF 417 es un formato de código de barras lineal apilado que se utiliza en una variedad de aplicaciones, principalmente en transporte, tarjetas de identificación y gestión de inventarios.
Símbologías apiladas | Especifica qué simbologías apiladas han de leerse (se pueden seleccionar y leer múltiples simbologías).
PDF 417 | Selecciona la lectura de PDF417. PDF417 es un formato de código de barras lineal apilado que se utiliza en una variedad de aplicaciones, principalmente en transporte, tarjetas de identificación y gestión de inventarios.
Ajustes de decodificación |
Perspectiva | Especifica la decodificación de símbolos Data Matrix y de códigos QR que presentan distorsión de perspectiva y entrena opcionalmente los símbolos Data Matrix para una distorsión de perspectiva conocida.
Mínimo (por defecto) | Decodifica símbolos Data Matrix que presentan una distorsión mínima de perspectiva.
Moderada | Decodifica símbolos Data Matrix, códigos QR y símbolos 1D/apilados que presentan distorsión de perspectiva; la distorsión de la perspectiva se estima de forma independiente durante el entrenamiento del modelo y en tiempo de ejecución.
Severa | Decodifica los símbolos Data Matrix que presentan una distorsión de perspectiva conocida. Se entrena la perspectiva. Posteriormente, durante el tiempo de ejecución, la función busca el símbolo en un espacio en el que se compensa la distorsión de perspectiva en la imagen de entrada utilizando los atributos entrenados. Esta opción requiere que el símbolo explorado en tiempo de ejecución se ponga en el mismo plano que el símbolo entrenado. Esta opción permite decodificar varios símbolos severamente dañados por una distorsión de perspectiva conocida. Nota: Se recomienda montar el sistema de visión In-Sight de manera que el ángulo de incidencia (el ángulo entre el eje óptico del sensor y el vector normal al plano que contiene el símbolo) no sea mayor de 40 grados, y que la resolución del símbolo sea de por lo menos 5 píxeles por celda.
Modo QR | Especifica el tipo de código QR a leer.
Modelo QR 1
Modelo QR 2
Modelos QR 1 y 2
Micro QR
Micro QR y modelo QR 1
Micro QR y modelo QR 2
Todos los modos de QR (por defecto)
Ignorar polaridad | Especifica si han de leerse o no los símbolos Data Matrix que tienen la polaridad invertida con respecto a la del símbolo entrenado. Nota: Este parámetro sólo es válido si el parámetro «Habilitar entrenamiento» está activado.
Desactivado (por defecto) | No admite la polaridad invertida con respecto al modelo entrenado.
Activado | Admite la polaridad invertida con respecto al modelo entrenado.
Permitir flexible Tamaño de cuadrícula | Especifica si se deben leer o no los símbolos Data Matrix y códigos QR que tienen un tamaño de cuadrícula distinto de el del símbolo entrenado. Nota: Este parámetro sólo es válido si el parámetro «Habilitar entrenamiento» está activado.
Desactivado (por defecto) | Admite únicamente la lectura de símbolos que tienen el mismo tamaño de cuadrícula que el del símbolo entrenado.
Activado | Admite la lectura de símbolos que no tienen el mismo tamaño de cuadrícula que el del símbolo entrenado.
Suma de comprobación | Especifica si ha de validarse el símbolo para asegurar la fiabilidad utilizando un algoritmo de detección de errores. La suma de comprobación se realiza únicamente con símbolos que presentan algoritmos opcionales de suma de comprobación incluidos en el símbolo; cada símbolo tiene su propio algoritmo de suma de comprobación. El tipo de suma de comprobación, si se utiliza, depende del tipo de código seleccionado.
Desactivado (por defecto) | No se verifica la suma de comprobación.
Activado | Requiere que se satisfaga la suma de comprobación.
Nota: Los códigos de barras de código 128, código 93 y UPC/EAN se validan con una suma de comprobación independientemente del ajuste seleccionado para este parámetro. Si se habilita Suma de comprobación para cualquier otro código de barras y no hay ninguna suma de comprobación codificada, la lectura fallará.
Polaridad | Especifica el color de los símbolos.
Negro | El símbolo es más oscuro que el fondo.
Blanco | El símbolo es más claro que el fondo.
Automático (por defecto) | La función selecciona automáticamente la polaridad del símbolo.
Omnidireccional | Especifica la dirección en la que se proyectan las líneas de barrido en la Región para detectar todos los elementos del código de barras. Por lo menos una línea de barrido debe proyectarse a través de todos los elementos del código de barras para que la decodificación se realice correctamente.
0 = DESACTIVADO | Las líneas de barrido se proyectan en una dirección para detectar un código de barras paralelo a la Región.
1 = ACTIVADO (por defecto) | Las líneas de barrido se proyectan en varios ángulos para detectar un código de barras que está girado con respecto a la Región.
Modo de ordenación | Especifica el orden, si hay uno a considerar, en el que se devuelven los resultados. Nota: Para que la ordenación de los símbolos se realice correctamente, el parámetro «Núm. máximo de resultados» debe estar puesto a un valor que es igual o mayor que la cantidad de símbolos contenidos en la imagen.
Ninguno (por defecto) | Ordena según los primeros resultados decodificados. Los resultados que pueda haber sin codificar se presentarán tras los resultados decodificados.
De arriba abajo | Ordena en orden ascendente de fila.
De izquierda a derecha | Ordena en orden ascendente de columna.
Alfabético | Los resultados se ordenan alfabéticamente.
Longitud de cadena | Los resultados se ordenan según su longitud de cadena (empezando por la más corta hasta la más larga).
Filas | Los resultados se ordenan agrupando los símbolos en filas y luego de izquierda a derecha dentro de cada fila. Cuando se ordenan por filas, se considera que dos símbolos pertenecen a la misma fila si el centro de uno de los símbolos se superpone verticalmente con cualquier parte del otro símbolo.
Columnas | Los resultados se ordenan agrupando los símbolos en columnas y luego de arriba abajo dentro de cada columna. Cuando se ordenan por columnas, se considera que dos símbolos pertenecen a la misma columna si el centro de uno de los símbolos se superpone horizontalmente con cualquier parte del otro símbolo.
Permitir símbolos 1D idénticos | Especifica si la función debe o no decodificar todos los símbolos contenidos en la región, incluso los que son idénticos. Se considera que dos símbolos son idénticos si tienen la misma longitud, son del mismo tipo de simbología y presentan la misma cadena decodificada.
Desactivado (por defecto) | La función devuelve un solo resultado si se decodifican múltiples símbolos.
Activado | Devuelve todos los resultados, incluso si son idénticos.
Expandir UPC-E | Especifica si el símbolo decodificado ha de dar la cadena UPC-E de 6 dígitos o la cadena equivalente expandida UPC-A de 11 dígitos.
Desactivado | El símbolo decodificado devuelve la cadena UPC-E de 6 dígitos.
Activado (por defecto) | El símbolo decodificado devuelve la cadena equivalente UPC-A expandida a 11 dígitos.
Nota: El parámetro Expandir UPC-E sólo está disponible para símbolos 1D/apilados.
Verificar | Especifica si se realizarán pruebas de calidad de impresión (también conocidas como métricas de verificación de calidad).
Desactivado (por defecto) | No comprueba la calidad.
Activado | Comprueba la calidad y visualiza los resultados en la hoja de cálculo.
Nota: Si no ha podido decodificar la cadena, la función da #ERR para todos los resultados que se insertan automáticamente en la hoja de cálculo. Todos los tipos de código, excepto el PDF 417, admiten métricas de verificación de la calidad.
Tiempo de espera | Especifica la duración del periodo de tiempo, en milisegundos (0 a 30000), durante el cual la función buscará el símbolo de identificación válido y tras el cual se detiene la ejecución de la función y se emite un #ERR. Si este parámetro se pone a 0, se desactiva esta opción y no se implementará el tiempo de espera. Nota: A veces, puede ocurrir que la función ReadIDMax supere en una fracción porcentual el tiempo de espera especificado. Si esto ocurre, reduzca el valor ajustado en el parámetro «Tiempo de espera» para compensar el exceso observado.
Mostrar | Especifica el modo de visualización del gráfico transparente de ReadIdMax sobre la imagen. Nota: El parámetro Mostrar solo está disponible para símbolos Data Matrix y códigos QR.
ocultar todo (por defecto) | Se ocultará el contorno de la región de entrada, excepto cuando la celda que contiene la función ReadIDMax está seleccionada en la hoja de cálculo.
sólo gráficos de resultados | Se visualizarán en todo momento los gráficos de resultados (recuadros para Data Matrix y códigos QR).
gráficos de entrada y resultado | Se visualizarán en todo momento los gráficos de entrada y de resultados.

## ReadIDMax Salidas

Devuelve | Una estructura de datos IDMax que contiene la cadena alfanumérica decodificada, o #ERR si alguno de los parámetros de entrada no es válido.
Resultados | Cuando se inserta inicialmente la función en una celda, se inserta automáticamente una tabla de resultados en la hoja de cálculo. El número de cadenas indexadas que se devuelven en la tabla de resultados es igual al valor introducido en el parámetro «Núm. máximo de resultados». Si no ha podido localizar ni decodificar ningún símbolo, la función da #ERR. Nota: En el caso de los símbolos Data Matrix, el carácter de guión bajo, el 256 (Decimal 231 Hex E7), hace que los datos codificados se procesen como bytes, en conformidad con las especificaciones ISO/IEC 16022 sobre Data Matrix. Utilice la función GetStringIDMax para obtener los datos codificados. Para obtener más información, consulte IDMax.

## ReadIDMax Vision Data Access functions

String | GetString(IDMax, [Índice]) | Devuelve la cadena alfanumérica codificada en el símbolo indexado.

Nota:

- Si se decodifican símbolos Data Matrix, utilice la función GetStringIDMax en lugar de GetString para obtener información más precisa y detallada sobre los símbolos decodificados.