#ifndef IMAGEINPUT_H #define IMAGEINPUT_H #include // für size_t // Datentyp für ein einzelnes Pixel (0–255) typedef unsigned char GrayScalePixelType; // Struktur eines einzelnen Graustufenbildes typedef struct { GrayScalePixelType *buffer; // Zeiger auf Pixel-Daten (width * height) unsigned int width; // Bildbreite unsigned int height; // Bildhöhe } GrayScaleImage; // Eine Serie von Bildern inklusive Labels typedef struct { GrayScaleImage *images; // Array von Bildern unsigned char *labels; // Array von Labels (0–255) unsigned int count; // Anzahl der Bilder } GrayScaleImageSeries; /** * Liest eine Bilderserie aus einer Datei. * Erwartetes Format: * uint32 count * für jedes Bild: * uint32 width * uint32 height * width*height Bytes Bilddaten * uint8 label * * @param path Pfad zur Datei * @return Pointer auf GrayScaleImageSeries oder NULL bei Fehler */ GrayScaleImageSeries *readImages(const char *path); /** * Gibt den Speicher einer Serie wieder frei. * * @param series Pointer auf die Serie, darf auch NULL sein */ void clearSeries(GrayScaleImageSeries *series); #endif // IMAGEINPUT_H