Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Punto final de ROI recortado (Clasificación únicamente)

OV10i Nota

El OV10i admite solo modelos de classification. Las funciones de Segmentation mencionadas en esta página están disponibles en las cámaras OV20i y OV80i.

Descripción general

El endpoint cropped_roi proporciona acceso a Regiones de Interés (ROI) recortadas generadas a partir de resultados de clasificación en Haystack que se ejecuta en el dispositivo.

Importante: Este endpoint funciona únicamente para resultados de tipo clasificación. El tipo de Segmentation no es compatible para el recorte de ROI a través de este endpoint.

El formato de URL base es:

http://{device-ip}/edge/haystack/cropped_roi/{classification_result_id}

Cómo funciona

Cuando la cámara completa una captura de clasificación, el flujo de Node-RED construye dinámicamente las URL para las imágenes de ROI recortadas al emparejar la IP del dispositivo y el ID del resultado de clasificación:

const imageUrl = `http://${baseUrl}/edge/haystack/cropped_roi/${result.id}`;

Cada URL sirve una imagen recortada correspondiente a un ROI de clasificación individual, normalmente que representa una única inspección.


Resumen del flujo de Node-RED

El flujo ROI_Crop realiza lo siguiente:

  1. Extrae la IP del dispositivo

    • Analiza el campo image_url para encontrar la IP (p. ej., 192.168.0.101)
    • La guarda globalmente para su reutilización
  2. Consulta los datos de captura más recientes

    • Envía una solicitud GET a la API PostgREST del dispositivo:

      http://{device-ip}/postgrest/captures?select=...
      &order=id.desc&limit=1
    • Recupera la captura más reciente y todas las entradas classification_result

  3. Filtra solo resultados de clasificación

    • Omite resultados de segmentation o alignment

    • Itera sobre cada resultado de clasificación:

      classificationResults.forEach(result => {
      const roiName = result.roi_result?.inspection_region?.name || `ROI_${result.id}`;
      const imageUrl = `http://${baseUrl}/edge/haystack/cropped_roi/${result.id}`;
      imageMap[roiName] = imageUrl;
      });
  4. Devuelve las URL de ROI recortadas

    • Guarda todos los enlaces de imágenes ROI en un imageMap global
    • Devuelve la lista de las URL de imágenes ROI recortadas más recientes

image1.png

image2.png


Uso de ejemplo

Obtener una imagen de ROI recortada

curl http://192.168.0.101/edge/haystack/cropped_roi/42 -o roi_42.jpg

Uso en una interfaz web

<img src="http://192.168.0.101/edge/haystack/cropped_roi/42" alt="Cropped ROI 42">

Ejemplo de salida

{
"ROI_1": "http://192.168.0.101/edge/haystack/cropped_roi/1",
"ROI_2": "http://192.168.0.101/edge/haystack/cropped_roi/2"
}

Parámetros

ParámetroTipoDescripción
device-ipstringDirección IP de la cámara (p. ej., 192.168.0.101)

Flujo de integración

  1. Obtén metadatos de captura más recientes mediante /postgrest/captures.
  2. Identifica los IDs disponibles de classification_result.
  3. Construye las URL de ROI recortadas para cada resultado.
  4. Muestra o descarga esas imágenes para análisis, datos de entrenamiento o inspección QA.

Descargar flujo de Node-RED

  • ROI Crop Flow (JSON) - Flujo completo de Node-RED para extraer imágenes ROI recortadas
    • Importe este flujo directamente en Node-RED para acceder a los ROI de clasificación recortados
    • Funciona con los sistemas OV10i y OV80i