Datei wird follständig ausgelesen

This commit is contained in:
Bastian 2025-11-13 17:07:20 +01:00
parent 97bf884e59
commit c1db7c612f

View File

@ -50,20 +50,48 @@ GrayScaleImageSeries *readImages(const char *path)
fread(&width,1,sizeof(unsigned short),datei); fread(&width,1,sizeof(unsigned short),datei);
fread(&height,1,sizeof(unsigned short),datei); fread(&height,1,sizeof(unsigned short),datei);
//printf("%u Bilder und %u mal %u",image_count,width,height); //printf("%u Bilder und %u mal %u",image_count,width,height);
GrayScaleImageSeries *series = NULL;
series = malloc(sizeof(GrayScaleImageSeries));
series->count = image_count;
series->images = malloc(image_count*sizeof(GrayScaleImage));
series->labels = malloc(image_count*sizeof(unsigned char));
for(unsigned short i = 0;i<image_count;i++)
{
series->images[i].buffer = malloc(width*height);
}
for(unsigned short i = 0;i<image_count;i++)
{
for (unsigned int j=0;j<(width*height);j++)
{
fread(&series->images[i].buffer[j],1,1,datei);
}
fread(&series->labels[i],1,1,datei);
//printf("%d\n",series->labels[i]);
}
fclose(datei); fclose(datei);
GrayScaleImageSeries *series = NULL;
return series; return series;
} }
// TODO Vervollständigen Sie die Funktion clearSeries, welche eine Bildserie vollständig aus dem Speicher freigibt // TODO Vervollständigen Sie die Funktion clearSeries, welche eine Bildserie vollständig aus dem Speicher freigibt
void clearSeries(GrayScaleImageSeries *series) void clearSeries(GrayScaleImageSeries *series)
{ {
if(series == NULL)
{
printf("Serie nicht vorhanden\n");
return;
}
unsigned short anzahl = series->count;
for(unsigned short i = 0;i<anzahl;i++)
{
free(series->images[i].buffer );
}
free(series->images);
free(series->labels);
free(series);
printf("Serie freigegeben\n");
return;
} }