image

flattenImages

Beschreibung

Die Aktion flattenImages konvertiert eine Tabelle mit Bilddaten (typischerweise binär) in ein breites Format, wobei jedes Pixel des Bildes in eine eigene Spalte der Ausgabetabelle umgewandelt wird. Dies ist ein entscheidender Schritt bei der Vorbereitung von Bilddaten für klassische Machine-Learning-Algorithmen, die tabellarische Eingaben erwarten. Die Aktion ermöglicht gleichzeitig das Ändern der Größe (Resizing), das Transponieren und das Gruppieren von Farbkanälen.

Einstellungen
ParameterBeschreibung
casOut Gibt die Einstellungen für die Ausgabetabelle an, in der die flachen Bilddaten gespeichert werden.
table Gibt die Eingabetabelle an, die die zu verarbeitenden Bilddaten enthält.
width Legt die Breite der Ausgabebilder fest. Das Bild wird auf diese Breite skaliert, bevor es verflacht wird (Standard: 32).
height Legt die Höhe der Ausgabebilder fest. Das Bild wird auf diese Höhe skaliert, bevor es verflacht wird (Standard: 32).
transpose Wenn auf True gesetzt, werden die Bilder transponiert (Zeilen und Spalten vertauscht), bevor sie in die Ausgabetabelle geschrieben werden.
groupChannels Wenn auf True gesetzt, werden die Farbkanäle gruppiert (z. B. alle blauen Pixel, dann alle grünen, dann alle roten), anstatt Pixel für Pixel verschachtelt zu sein.
numberOfChannels Gibt die Anzahl der Kanäle der Ausgabebilder an (z. B. 'COLOR_IMAGE' für 3 Kanäle oder 'GRAY_SCALE_IMAGE' für 1 Kanal).
copyVars Liste von Variablen aus der Eingabetabelle, die unverändert in die Ausgabetabelle kopiert werden sollen (z. B. Labels oder IDs).
Laden von Bilddaten

Lädt Beispielbilder aus einem Systempfad in eine CAS-Tabelle namens 'MYIMAGES', um sie anschließend zu verarbeiten.

Kopiert!
1 
2PROC CAS;
3image.loadImages / path="/sas/images" casout={name="MYIMAGES", replace=true} recurse=true;
4 
5RUN;
6 

Beispiele

Konvertiert die Bilder in der Tabelle 'MYIMAGES' in ein flaches Format mit den Standardabmessungen (32x32 Pixel).

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3image.flattenImages / TABLE={name="MYIMAGES"} casOut={name="FLAT_IMAGES", replace=true};
4 
5RUN;
6 
Ergebnis :
Eine Tabelle 'FLAT_IMAGES', in der jedes Bild als eine einzelne Zeile mit Pixelspalten dargestellt ist.

Verflacht die Bilder auf eine Größe von 24x24 Pixel, gruppiert die Farbkanäle und kopiert die Label-Variable.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3image.flattenImages / TABLE={name="MYIMAGES"} casOut={name="FLAT_IMAGES_24", replace=true} width=24 height=24 groupChannels=true copyVars={"_label_"};
4 
5RUN;
6 
Ergebnis :
Tabelle 'FLAT_IMAGES_24' mit 24x24=576 Pixelspalten pro Kanal (gruppiert) plus der Spalte '_label_'.

FAQ

Was ist der Zweck der Aktion flattenImages?
Wie kann ich die Dimensionen der Ausgabebilder steuern?
Was bewirkt der Parameter groupChannels?
Kann ich die Bilder vor der Ausgabe transponieren?
Wie lege ich die Anzahl der Kanäle für die Ausgabebilder fest?
Welche Variablen werden standardmäßig in die Ausgabetabelle kopiert?