# CompareImage

CompareImage (Comparar Imagen) compara una región de interés con una imagen de plantilla y devuelve una Imagen que presenta píxeles blancos en los puntos en los que la región no coincide con la plantilla, teniendo en cuenta un cierto margen de tolerancia.

## CompareImage Descripción general

CompareImage está diseñada para extraer una plantilla de la imagen actual cuando la casilla de ForceTrain [ForzarEntrenamiento] está seleccionada en la hoja de propiedades. Una vez el usuario ha deseleccionado la casilla, CompareImage puede proyectar los píxeles de la plantilla sobre la imagen de entrada a fin de comparar la imagen con la plantilla y generar una imagen en escala de grises. Los píxeles que no coinciden con los de la imagen de la plantilla, dentro de un determinado margen de tolerancia, se visualizan como píxeles claros o blancos.

## CompareImage Entradas

Parámetros | Descripción
Imagen | Este parámetro debe utilizar Referencias de celda en una celda de la hoja de cálculo que contiene una estructura de datos de Imagen; por defecto, este parámetro hace referencia a A0, la celda que contiene la estructura de datos de imagen devuelta por la función. Este parámetro puede hacer también referencia a otras estructuras de datos de imagen, como las devueltas por las Funciones Image del conjunto Vision Tools.
Elemento posicionador | Define la región de interés (RDI) en relación con una entrada de Fixture [Elemento posicionador] o la salida del sistema de coordenadas de imagen de una función de Vision Tools. La configuración de la RDI con relación a un elemento posicionador hace 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, en coordenadas de la imagen.
Y | El desplazamiento en Y, en coordenadas de la imagen.
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.
Ancho | La dimensión de la región en la dirección del eje X de la misma.
Altura | La dimensión de la región en la dirección del eje Y de la misma.
Ángulo | La orientación en coordenadas del elemento posicionador.
Nota: Los parámetros Elemento posicionador y Región deben estar definidos dentro de los límites de la imagen; de lo contrario, la función devolverá #ERR.
ForzarEntrenamiento | Especifica cuándo ha de extraerse la plantilla de la imagen actual: puede ser, o bien cuando se modifican las dimensiones de la RDI, o bien cuando se selecciona el parámetro ForzarEntrenamiento.
0 = DESACTIVADO (por defecto) | La plantilla se extrae únicamente de la imagen actual cuando se modifican las dimensiones de la RDI. Opción seleccionada una vez el usuario ha seleccionado (o "entrenado") una imagen de plantilla, desactivándose con esta opción el parámetro "entrenamiento" para evitar que se sobrescriba la plantilla.
1 = ACTIVADO | La plantilla se extrae de la imagen actual. Se selecciona esta opción cuando el usuario está aún en el proceso de selección (o "entrenamiento") de una imagen de plantilla.
Intervalo para borde | Especifica el número de píxeles (0–24; por defecto = 3) que se tolerarán alrededor de un borde mientras se realiza la comparación de la imagen. Cuanto mayor sea el número, tanto menos rigurosa será la coincidencia de los bordes en la plantilla con los de la imagen entrada (en otras palabras, será menos probable que se visualicen las imperfectas coincidencias como diferencias en la imagen de salida).
Interpolación | Especifica el tipo de comparación entre píxeles que ha de realizarse cuando se proyecta la plantilla sobre la imagen de entrada para generar la imagen de salida que remarca las diferencias.
0 = Vecino más cercano (por defecto) | Se compara cada píxel de la plantilla con el píxel que le es más próximo en la imagen de entrada a fin de calcular la diferencia normalizada en escala de grises para cada píxel. Este es el método más rápido, pero también menos preciso.
1 = Bilineal | Se compara cada píxel de la plantilla con una media ponderada (que representa el valor en escala de grises de los cuatro píxeles más cercanos en la imagen de entrada) para calcular la diferencia normalizada en escala de grises para de cada píxel. Este es un método más preciso, pero más lento.
Mostrar | Especifica qué superposiciones gráficas han de visualizarse sobre la imagen.
0 = ocultar todo (por defecto) | Los elementos gráficos disponibles estarán ocultos, excepto cuando la celda que contiene la función CompareImage está resaltada en la hoja de cálculo.
1 = solo gráficos de resultados | Se visualizará la imagen procesada en todo momento.
2 = sólo gráficos de entrada | Se visualizarán en todo momento los elementos gráficos asociados a la región de la imagen entrada.
3 = mostrar todo: gráficos de entrada e imagen de la plantilla | Se visualizarán en todo momento los elementos gráficos asociados a la región de la imagen entrada; sin embargo, cuando se esté en la hoja de propiedades de CompareImage, se visualizará también la imagen de la plantilla.

## CompareImage Salidas

Devuelve | Una estructura de datos de Imagen que contiene la imagen procesada o #ERR si alguno de los parámetros de entrada no es válido.

## CompareImage Ejemplo

En este ejemplo, el objetivo es utilizar CompareImage para comparar la imagen de plantilla de una "buena" junta con imágenes de entrada de juntas de una línea de producción.

En primer lugar, después de insertar CompareImage en la hoja de cálculo, el usuario define la RDI haciendo doble clic sobre la palabra "Región" en la hoja de propiedades, la cual desaparece entonces para que pueda verse el recuadro rojo de la RDI superpuesto a la imagen. El usuario desplaza el recuadro o cambia su tamaño utilizando el cursor y hace seguidamente clic sobre el botón Aceptar en la barra de herramientas de edición de tareas (o pulsa la tecla Entrar) para confirmar la selección y volver a la hoja de propiedades.

A continuación, el usuario fija la posición de la herramienta para otra estructura de datos. Para ello, el usuario identifica un rasgo distintivo que aparece siempre en los objetos a comparar y lo designa como punto de referencia para las otras herramientas de Vision Tools que va a utilizar. Esto permite realizar comparaciones o inspecciones precisas, incluso si el objeto está ligeramente girado o desplazado en la línea de producción.

Para fijar la posición de la función, el usuario hace clic sobre la palabra "Fixture" (Elemento posicionador) en la hoja de propiedades y hace clic sobre el botón de Referencia absoluta o el de Referencia relativa que se encuentran en la barra de herramientas de la hoja de propiedades.

La hoja de propiedades desaparece y se visualiza en su lugar la hoja de cálculo de In-Sight. El usuario mueve el cursor para seleccionar las celdas de Fila, Columna y Ángulo de otra estructura de datos en la hoja de cálculo (por ejemplo, de FindPatterns) como referencias para el elemento posicionador y hace clic sobre el botón Aceptar de la barra de herramientas de edición de tareas (o presiona la tecla Entrar) para confirmar la selección y volver a la hoja de propiedades.

A continuación, el usuario se asegura de que la casilla ForzarEntrenamiento de la hoja de propiedades está seleccionada para que se pueda extraer automáticamente una imagen de plantilla (véase más abajo) cuando se active manualmente una captura de imagen. (Sin embargo, la simple selección de la casilla ForzarEntrenamiento ya desencadena la captura de imagen, por lo que si la imagen actual es aceptable, el usuario puede omitir la configuración de imagen y activación manual de la captura). Una vez seleccionada una plantilla, el usuario desmarca la casilla para evitar que se sobrescriba la plantilla.

Al aceptar los ajustes predeterminados de los demás parámetros y hacer clic sobre Aceptar en la hoja de propiedades, se completa la configuración para este ejemplo y se aplica la función a la imagen de entrada.

Durante el tiempo de ejecución, la herramienta compara la imagen de la plantilla con la imagen de entrada. Una imagen de entrada "mala" puede ser la de una junta estropeada por marcas blancas (véase más abajo).

Las diferencias entre las dos imágenes se visualizan en forma de píxeles claros en la imagen de salida en escala de grises (véase más abajo).

Otra herramienta (por ejemplo, DetectBlobs; véase más abajo) puede hacer referencia a la imagen de salida y servir para tomar la decisión si la junta pasa o no la inspección.