Zum Hauptinhalt springen

KI-GESTÜTZTE DOKUMENTATION

Was möchten Sie wissen?

Cropped ROI Endpoint (nur Klassifizierung)

Übersicht

Der cropped_roi-Endpunkt bietet Zugriff auf zugeschnittene Regions of Interest (ROIs), die aus Klassifizierungsergebnissen in Haystack erzeugt werden, das auf dem Gerät ausgeführt wird.

Nur Klassifizierung

Haystack unterstützt derzeit keine Segmentierungsergebnisse. Dieser Endpunkt funktioniert nur für Ergebnisse vom Typ Klassifizierung. Wenn Sie die Ausgabe eines Segmentierers programmatisch verarbeiten möchten, verwenden Sie stattdessen die Standard-API für Inspektionsergebnisse.

Das Basis-URL-Format lautet:

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

Funktionsweise

Sobald die Kamera eine Klassifizierungsaufnahme abgeschlossen hat, erstellt der Node-RED-Flow dynamisch URLs für die zugeschnittenen ROI-Bilder, indem die Geräte-IP mit der Klassifizierungsergebnis-ID kombiniert wird:

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 folgende Schritte aus:

  1. Extrahiert die Geräte-IP

    • Analysiert das Feld image_url, um die IP zu ermitteln (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 jüngste Aufnahme sowie alle classification_result-Einträge ab

  3. Filtert ausschließlich nach Klassifizierungsergebnissen

    • Überspringt Segmentierungs- oder Ausrichtungsergebnisse

    • 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 URLs der zugeschnittenen ROI-Bilder zurück

image1.png

image2.png


Beispielhafte Verwendung

Ein zugeschnittenes ROI-Bild abrufen

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

Verwendung in einer Weboberflä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)

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, 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 die zugeschnittenen Klassifizierungs-ROIs zuzugreifen
    • Funktioniert sowohl mit OV20i- als auch mit OV80i-Systemen