#include #include #include #include "imageInput.h" #define BUFFER_SIZE 100 #define FILE_HEADER_STRING "__info2_image_file_format__" // TODO Implementieren Sie geeignete Hilfsfunktionen für das Lesen der Bildserie aus einer Datei int readHeader(File *file) { char fileHeader[32]; fread(fileHeader, sizeof(char), strlen(FILE_HEADER_STRING), file); if(strncmp(FILE_HEADER_STRING, fileHeader, strlen(FILE_HEADER_STRING))){ return -1; } else{ return 0; } } int readIntOfFile(FILE *file){ int number = 0; fread(number, sizeof(int), 1, file); return number; } int readOneImage(GrayScaleImageSeries *series, File *file, width, height){ unsigned char label; series->images[i].buffer = malloc(width * height * sizeof(GrayScalePixelType)); fread(series->images[i].buffer, sizeof(GrayScalePixelType), width * height, file); fread(label, sizeof(unsigned char), 1, file); return 0 } // TODO Vervollständigen Sie die Funktion readImages unter Benutzung Ihrer Hilfsfunktionen GrayScaleImageSeries *readImages(const char *path) { GrayScaleImageSeries *series = NULL; int imageCount, width, height; if(readHeader == 0) { imageCount = readIntOfFile(file); width = readIntOfFile(file); height = readIntOfFile(file); for(int i = 0; i < imageCount; i++){ readImages(GrayScaleImageSeries, file, width, height); } } return series; } // TODO Vervollständigen Sie die Funktion clearSeries, welche eine Bildserie vollständig aus dem Speicher freigibt void clearSeries(GrayScaleImageSeries *series) { }