Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Endpoint de ROI Recortada (Solo Clasificación)

Nota OV10i

El OV10i solo admite modelos de clasificación. Las características de segmentación mencionadas en esta página están disponibles en las cámaras OV20i y OV80i.

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 ejecuta en el dispositivo.

Solo clasificación

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

El formato de la 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 URLs 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, que típicamente representa una sola 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 (por ejemplo, 192.168.0.101)
    • La almacena globalmente para reutilizarla
  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 de 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. Salida de las URLs de ROI Recortadas

    • Guarda todos los enlaces de imágenes de ROI en un imageMap global
    • Devuelve la lista de las últimas URLs de imágenes de ROI recortadas

image1.png

image2.png


Ejemplo de Uso

Obtener una Imagen de ROI Recortada

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

Usar 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 (por ejemplo, 192.168.0.101)

Flujo de Integración

  1. Adquirir metadatos de la captura más reciente a través de /postgrest/captures.
  2. Identificar los IDs de classification_result disponibles.
  3. Construir URLs de ROI recortadas para cada resultado.
  4. Mostrar o descargar esas imágenes para análisis, datos de entrenamiento o inspección de calidad.

Descargar Flujo de Node-RED

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