forked from freudenreichan/info2Praktikum-NeuronalesNetz
48 lines
1.2 KiB
C
48 lines
1.2 KiB
C
#ifndef IMAGEINPUT_H
|
||
#define IMAGEINPUT_H
|
||
|
||
#include <stddef.h> // 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
|