# Trabajar con imágenes calibradas

Las herramientas de ViDi funcionan con valores de píxeles y devuelven resultados en valores de píxeles. Las herramientas de VisionPro funcionan en espacios de coordenadas predefinidos o arbitrarios y devuelven resultados en el contexto del espacio de coordenadas seleccionado de la imagen. Por tanto, cuando se fija una imagen calibrada con PatMax, hay que asegurarse de que los resultados de la herramienta PatMax estén en términos de píxeles y que los resultados de la herramienta de ViDi estén en términos del espacio de coordenadas calibrado.

## Usar la herramienta PMAlign para fijar elementos en imágenes calibradas con una herramienta de análisis roja

La pose producida por la herramienta PMAlign debe estar en términos de píxeles para que la herramienta de análisis roja pueda consumirla correctamente. La herramienta PMAlign devuelve poses que asignan puntos en el espacio del patrón a puntos en el espacio seleccionado. Cuando se selecciona el espacio de píxeles (o cuando se selecciona el espacio raíz y este es igual al espacio de píxeles), la pose ya está en términos de píxeles.

Hay casos en los que la pose no está en términos de píxeles, a saber:

- La imagen de entrada fue submuestrada por una herramienta de VisionPro:
  - Espacio seleccionado: raíz ("@")
  - Espacio raíz != Espacio de píxeles
- La imagen de entrada fue calibrada:
  - Espacio seleccionado: espacio calibrado

Por suerte, el mismo procedimiento discutido en el caso estándar manejará las imágenes cuyo espacio seleccionado sea un espacio calibrado:

Consejo:

###### Ejemplo de API

    ICogTransform2D fromSelectedToPixelTransform = cogImage.GetTransform("#", ".");

    CogTransform2DLinear fromPatternToPixelLinearTransform = fromSelectedToPixelTransform.ComposeBase(<Pose>).LinearTransform(0, 0);

La transformación "fromPatternToPixelLinearTransform" puede pasarse a AddView para fijar elementos en la vista por defecto, aunque la imagen esté calibrada.

Sin tomar estas precauciones, la herramienta PMAlign producirá una pose que solo es válida en el espacio calibrado, lo que conduce a vistas que están radicalmente fuera de posición en la herramienta de análisis roja. Sin embargo, una vez que la pose de la herramienta PMAlign se transforme en espacio de píxeles, el procedimiento para usar la imagen y su pose con la herramienta de análisis roja no cambian.

## Trabajar con marcas de ViDi en un espacio calibrado

Las marcas de ViDi presentan los resultados en coordenadas de píxeles, específicamente, píxeles relativos al origen de la vista en la que se encuentran los resultados.

Considérese una herramienta de análisis roja que devuelve una marca con una sola vista y un solo defecto (cuadrado):

- RedMarking
  - RedView
    - Region
      - (0, 0)
      - (1, 0)
      - (1, 1)
      - (0, 1)

Por tanto, el área de esta región es de un píxel, independientemente de si la imagen fue calibrada o no. Usando este contenedor, es posible convertir una marca en una nueva implementación de IMarking que contenga resultados calibrados. El proceso de conversión requiere la marca, así como la transformación de calibración (como una CogTransform2DLinear).

Supongamos que la longitud de un píxel está calibrada en cinco pulgadas en el ejemplo anterior. La versión calibrada es la siguiente:

- CalibratedRedMarking
  - CalibratedRedView
    - CalibratedRegion
      - (0, 0)
      - (5, 0)
      - (5, 5)
      - (0, 5)

Ahora, la propiedad Region.Area devolvería 25, representando in2 en el espacio calibrado en vez de píxeles. Esto permite que se utilice la misma interfaz tanto para los resultados calibrados como para los no calibrados.

Nota:

- La transformación de calibración se puede recuperar de la imagen calibrada a través de ICogImage.GetTransform("#", "<CalibrationSpaceName>").

  Esto devuelve la transformación de espacio calibrado a espacio de píxeles.

- Las implementaciones calibradas de las diferentes marcas de ViDi están disponibles en el espacio de nombres ViDi2.VisionPro.Calibración.

## Resumen

Cuando se utiliza PatMax y ViDi en una imagen calibrada, la herramienta PatMax debe devolver poses en términos de píxeles. Para interpretar los resultados de ViDi en un espacio calibrado, se debe crear una marca calibrada a partir de una marca (píxel) y una transformación de calibración.