Zum Hauptinhalt springen

KI-GESTÜTZTE DOKUMENTATION

Was möchten Sie wissen?

Cropped ROI Endpoint (Classification Only)

Übersicht

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

Nur Klassifizierung

Haystack unterstützt derzeit keine Segmentierungsergebnisse. Dieser Endpoint funktioniert nur für Ergebnisse vom Typ Klassifizierung. Wenn Sie die Ausgabe des Segmentierers programmatisch verarbeiten müssen, 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 Klassifizierungsaufnahme abschließt, erzeugt der Node-RED-Flow dynamisch URLs für die zugeschnittenen ROI-Bilder, indem er die Geräte-IP mit der Klassifizierungsergebnis-ID kombiniert:

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

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


Zusammenfassung des Node-RED-Flows

Der ROI_Crop-Flow führt Folgendes 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 Capture-Daten ab

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

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

  3. Filtert ausschließlich nach Klassifizierungsergebnissen

    • Überspringt Segmentierungs- oder Alignment-Ergebnisse

    • Iteriert über jedes Klassifizierungsergebnis:

      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-Bildlinks in einer globalen imageMap
    • Gibt die Liste der neuesten zugeschnittenen ROI-Bild-URLs zurück

image1.png

image2.png

Anwendungsbeispiel

Ein zugeschnittenes ROI-Bild abrufen

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

Verwendung in einer Web-Oberfläche

<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)

Integrations-Workflow

  1. Aktuellste Capture-Metadaten über /postgrest/captures abrufen.
  2. Verfügbare classification_result-IDs ermitteln.
  3. Zugeschnittene ROI-URLs für jedes Ergebnis erzeugen.
  4. Diese Bilder zur Analyse, als 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 Klassifizierungs-ROIs zuzugreifen
    • Funktioniert sowohl mit OV20i- als auch mit OV80i-Systemen