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.
| Parameter | Beschreibung |
|---|---|
| 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). |
Lädt Beispielbilder aus einem Systempfad in eine CAS-Tabelle namens 'MYIMAGES', um sie anschließend zu verarbeiten.
| 1 | |
| 2 | PROC CAS; |
| 3 | image.loadImages / path="/sas/images" casout={name="MYIMAGES", replace=true} recurse=true; |
| 4 | |
| 5 | RUN; |
| 6 |
Konvertiert die Bilder in der Tabelle 'MYIMAGES' in ein flaches Format mit den Standardabmessungen (32x32 Pixel).
| 1 | |
| 2 | PROC CAS; |
| 3 | image.flattenImages / TABLE={name="MYIMAGES"} casOut={name="FLAT_IMAGES", replace=true}; |
| 4 | |
| 5 | RUN; |
| 6 |
Verflacht die Bilder auf eine Größe von 24x24 Pixel, gruppiert die Farbkanäle und kopiert die Label-Variable.
| 1 | |
| 2 | PROC CAS; |
| 3 | image.flattenImages / TABLE={name="MYIMAGES"} casOut={name="FLAT_IMAGES_24", replace=true} width=24 height=24 groupChannels=true copyVars={"_label_"}; |
| 4 | |
| 5 | RUN; |
| 6 |