Zum Hauptinhalt springen

KI-GESTÜTZTE DOKUMENTATION

Was möchten Sie wissen?

Cropped ROI Endpoint (Classification Only)

OV10i Hinweis

Die OV10i unterstützt ausschließlich Klassifikations-Modelle. Auf dieser Seite erwähnte Segmentierungsfunktionen sind auf den Kameras OV20i und OV80i verfügbar.

Übersicht

Der cropped_roi-Endpunkt bietet Zugriff auf zugeschnittene Regions of Interest (ROIs), die aus Klassifikationsergebnissen in Haystack auf dem Gerät generiert werden.

Nur Klassifikation

Haystack unterstützt derzeit keine Segmentierungsergebnisse. Dieser Endpunkt funktioniert nur für Klassifikations-Ergebnisse. Wenn Sie Segmenter-Ausgaben programmatisch verarbeiten möchten, verwenden Sie stattdessen die standardmäßige Inspection Results API.

Das Format der Basis-URL lautet:

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

Funktionsweise

Wenn die Kamera eine Klassifikationsaufnahme abschließt, erstellt der Node-RED-Flow dynamisch URLs für die zugeschnittenen ROI-Bilder, indem die Geräte-IP mit der Klassifikationsergebnis-ID kombiniert wird:

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

Jede URL liefert ein zugeschnittenes Bild, das einer einzelnen Klassifikations-ROI entspricht und typischerweise eine einzelne Inspektion darstellt.


Node-RED Flow Übersicht

Der ROI_Crop-Flow führt folgende Schritte aus:

  1. Extrahiert die Geräte-IP

    • Parst das Feld image_url, um die IP zu finden (z. B. 192.168.0.101)
    • Speichert sie global zur Wiederverwendung
  2. Fragt die neuesten Aufnahmedaten ab

    • Sendet eine GET-Anfrage an die PostgREST-API des Geräts:

      http://{device-ip}/postgrest/captures?select=...
      &order=id.desc&limit=1
    • Ruft die aktuellste Aufnahme und alle classification_result-Einträge ab

  3. Filtert ausschließlich nach Klassifikationsergebnissen

    • Überspringt Segmentierungs- oder Ausrichtungsergebnisse

    • Iteriert über jedes Klassifikationsergebnis:

      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. Gibt die zugeschnittenen ROI-URLs aus

    • Speichert alle ROI-Bildverknüpfungen in einer globalen imageMap
    • Gibt die Liste der aktuellsten zugeschnittenen ROI-Bild-URLs zurück

image1.png

image2.png


Beispielverwendung

Ein zugeschnittenes ROI-Bild abrufen

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

Verwendung in einer Webschnittstelle

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

Beispielausgabe

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

Parameter

ParameterTypBeschreibung
device-ipstringIP-Adresse der Kamera (z. B. 192.168.0.101)

Integrationsablauf

  1. Aktuelle Aufnahme-Metadaten über /postgrest/captures abrufen.
  2. Verfügbare classification_result-IDs identifizieren.
  3. Zugeschnittene ROI-URLs für jedes Ergebnis erstellen.
  4. Diese Bilder zur Analyse, für Trainingsdaten oder zur QA-Inspektion anzeigen oder herunterladen.

Node-RED Flow herunterladen

  • ROI Crop Flow (JSON) - Vollständiger Node-RED-Flow zum Extrahieren zugeschnittener ROI-Bilder
    • Importieren Sie diesen Flow direkt in Node-RED, um auf zugeschnittene Klassifikations-ROIs zuzugreifen
    • Funktioniert mit OV10i- und OV80i-Systemen