Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Punto final de ROI recortado (Solo clasificación)

Visión general

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

Classification only

Haystack no admite actualmente resultados de segmentación. Este endpoint funciona solo para resultados de tipo clasificación. Si necesita procesar la salida de segmentador de forma programática, use la API de resultados de inspección estándar en su lugar.

The base URL format is:

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 emparejando 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 que corresponde a un ROI de clasificación individual, típicamente que representa una única inspección.


Node-RED Flow Summary

El flujo ROI_Crop realiza lo siguiente:

  1. Extrae la IP del dispositivo

    • Analiza el campo image_url para localizar la IP (p. ej., 192.168.0.101)
    • La almacena globalmente para su reutilización
  2. Consulta los datos de la última captura

    • 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 segmentación o alineación

    • 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. Genera las URL de ROIs recortados

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

image1.png

image2.png


Ejemplos de uso

Obtenga 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. Adquiere metadatos de la última captura a través de /postgrest/captures.
  2. Identifica los IDs disponibles de classification_result.
  3. Construye las URL de ROI recortados para cada resultado.
  4. Muestra o descarga esas imágenes para análisis, datos de entrenamiento o inspección de QA.

Descargar flujo de Node-RED

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