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
casOutGibt die Einstellungen für die Ausgabetabelle an, in der die flachen Bilddaten gespeichert werden.
tableGibt die Eingabetabelle an, die die zu verarbeitenden Bilddaten enthält.
widthLegt die Breite der Ausgabebilder fest. Das Bild wird auf diese Breite skaliert, bevor es verflacht wird (Standard: 32).
heightLegt die Höhe der Ausgabebilder fest. Das Bild wird auf diese Höhe skaliert, bevor es verflacht wird (Standard: 32).
transposeWenn auf True gesetzt, werden die Bilder transponiert (Zeilen und Spalten vertauscht), bevor sie in die Ausgabetabelle geschrieben werden.
groupChannelsWenn 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.
numberOfChannelsGibt 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).
copyVarsListe 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?