image

extractDetectedObjects

Beschreibung

Die Aktion `extractDetectedObjects` extrahiert erkannte Objekte aus Bildern. Sie ermöglicht das Ausschneiden (Cropping) oder Hervorheben (Highlighting) von Objekten basierend auf Begrenzungsrahmen (Bounding Boxes). Diese Aktion ist nützlich für Computer-Vision-Aufgaben, bei denen spezifische Objekte in Bildern isoliert oder visualisiert werden müssen. Sie unterstützt verschiedene Koordinatenformate wie COCO, RECT und YOLO und bietet flexible Ausgabeoptionen für die weiterverarbeiteten Bilder.

image.extractDetectedObjects <result=results> <status=rc> / casOut={ caslib="string", compress=TRUE | FALSE, indexVars={"variable-name-1" <, "variable-name-2", ...>}, label="string", lifetime=64-bit-integer, maxMemSize=64-bit-integer, memoryFormat="DVR" | "INHERIT" | "STANDARD", name="table-name", promote=TRUE | FALSE, replace=TRUE | FALSE, replication=integer, tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE", threadBlockSize=64-bit-integer, timeStamp="string", where={"string-1" <, "string-2", ...>} }, coordType="COCO" | "RECT" | "YOLO", copyVars={"variable-name-1" <, "variable-name-2", ...>}, decode=TRUE | FALSE, extractType="CROP" | "HIGHLIGHT", image="variable-name", maxObjects=64-bit-integer, outputFormat="MULTIPLE_COLUMNS" | "MULTIPLE_ROWS", table={ caslib="string", computedOnDemand=TRUE | FALSE, computedVars={{ format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer }, {...}}, computedVarsProgram="string", dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>}, importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", singlePass=TRUE | FALSE, where="where-expression", whereTable={ casLib="string", dataSourceOptions={...}, importOptions={...}, name="table-name", vars={{...}, {...}}, where="where-expression" } };
Einstellungen
ParameterBeschreibung
casOutGibt die Einstellungen für die Ausgabetabelle an, in der die extrahierten Objektdaten gespeichert werden.
coordTypeGibt den Typ des Eingabeformats für die Begrenzungsrahmen (Bounding Boxes) der erkannten Objekte an. Zulässige Werte sind "COCO", "RECT" oder "YOLO". Der Standardwert ist "RECT".
copyVarsGibt eine Liste von Variablen an, die aus der Eingabetabelle in die Ausgabetabelle kopiert werden sollen.
decodeWenn auf True gesetzt, werden dekodierte Bilder und Metadaten in die Ausgabetabelle geschrieben. Standard ist False.
extractTypeGibt die Art der Extraktionsaktion an. "CROP" schneidet das Objekt aus, während "HIGHLIGHT" das Objekt im Bild hervorhebt. Standard ist "HIGHLIGHT".
imageGibt den Namen der Spalte an, die die Bild-Binärdaten enthält. Standard ist "_image_".
maxObjectsGibt die maximale Anzahl erkannter Objekte an, die aus den Bilddaten in der Eingabetabelle extrahiert werden sollen. Standard ist 10.
outputFormatGibt an, wie die ausgeschnittenen Erkennungen eines einzelnen Bildes gespeichert werden sollen: "MULTIPLE_COLUMNS" für mehrere Spalten in einer Zeile oder "MULTIPLE_ROWS" für eine Spalte über mehrere Zeilen. Standard ist "MULTIPLE_ROWS".
tableGibt die Eingabetabelle an, die die Bilddaten und Erkennungsinformationen enthält.
Laden von Bilddaten und Erkennungstabellen

Lädt Bilder und eine Tabelle mit Objekterkennungsdaten, um die Extraktion vorzubereiten.

Kopiert!
1PROC CAS;
2 image.loadImages / path="Pfad/zu/Bildern" caslib="mycas" casOut={name="imgs", replace=true};
3 /* Angenommene Tabelle 'detections' mit Bounding-Box-Daten vorhanden */
4RUN;

Beispiele

Extrahiert Objekte aus Bildern unter Verwendung der Standardeinstellungen (Hervorhebung, RECT-Koordinaten).

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 image.extractDetectedObjects /
3 TABLE={name="detections"}
4 casOut={name="extracted_objects", replace=true};
5RUN;
Ergebnis :
Eine Tabelle 'extracted_objects', die Bilder mit hervorgehobenen erkannten Objekten enthält.

Schneidet erkannte Objekte aus (Crop), verwendet das YOLO-Koordinatenformat, begrenzt auf 5 Objekte pro Bild und speichert Ergebnisse in mehreren Spalten.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 image.extractDetectedObjects /
3 TABLE={name="detections"}
4 casOut={name="cropped_objects", replace=true}
5 coordType="YOLO"
6 extractType="CROP"
7 maxObjects=5
8 outputFormat="MULTIPLE_COLUMNS"
9 copyVars={"id", "filename"}
10 decode=true;
11RUN;
Ergebnis :
Eine Ausgabetabelle 'cropped_objects', die bis zu 5 ausgeschnittene Objekte pro Originalbild in separaten Spalten enthält, inklusive kopierter Metadaten.

FAQ

Was ist der Zweck der Aktion extractDetectedObjects?
Welche Formate werden für die Koordinaten der Begrenzungsrahmen (Bounding Boxes) unterstützt?
Wie kann ich festlegen, ob die erkannten Objekte zugeschnitten oder hervorgehoben werden sollen?
Wie steuere ich die Struktur der Ergebnisse in der Ausgabetabelle?
Kann ich die Anzahl der extrahierten Objekte begrenzen?
Ist es möglich, dekodierte Bilder und Metadaten in die Ausgabetabelle zu schreiben?