Hallo,
Eine Binärdatei (Dat.cis) enthält ("Reihe für "Reihe", erster Punkt liegt oben links, letzter unten rechts) Informationen über eine Messung. Das Gerät hat mehrere Messwerte für jeden Pixel aufgenommen. Jeder Pixel entspricht einer Instanz der Struktur:
typedef struct{
short az, co;
char ao[8];
short nm;
char rq;
char gq;
} dataStruct;
Ich möchte daraus ein Bild generieren welches nur die Informationen eines Messwertes (z.B. az) enthält.
Die Binärdatei wird folgendermaßen eingelesen:
void * mData = malloc(mWidth*mHeight*sizeof(dataStruct));
FILE* fp=fopen("data.cis", "rb");
size_t count=fread(mData,sizeof(dataStruct),mWidth*mHeight, fp);
fclose(fp);
free(mData);
Diese Quellcode stammt vom Hersteller (daher auch der teilweise C-Stil), ich habe nur die fehlenden Typen (void, FILE, size_t) ergänzt (richtig?).
Um ein Bild zu generien muss ich auf jeden einzelnen Pixel für z.B. az zugreifen können.
Prinziell würde ich so vorgehen:
dataStruct *p;
short d;
d=p[1].az;
Dies funktioniert natürlich nicht, da der Zeiger p nicht initialisiert wird. Leider weiß ich nicht wie ich dies anstellen soll.
Ist der prinzipielle Weg richtig, wenn ja, wie intitialisiere ich p? Falls nicht, wie kann ich vorgehen?
Eine Binärdatei (Dat.cis) enthält ("Reihe für "Reihe", erster Punkt liegt oben links, letzter unten rechts) Informationen über eine Messung. Das Gerät hat mehrere Messwerte für jeden Pixel aufgenommen. Jeder Pixel entspricht einer Instanz der Struktur:
typedef struct{
short az, co;
char ao[8];
short nm;
char rq;
char gq;
} dataStruct;
Ich möchte daraus ein Bild generieren welches nur die Informationen eines Messwertes (z.B. az) enthält.
Die Binärdatei wird folgendermaßen eingelesen:
void * mData = malloc(mWidth*mHeight*sizeof(dataStruct));
FILE* fp=fopen("data.cis", "rb");
size_t count=fread(mData,sizeof(dataStruct),mWidth*mHeight, fp);
fclose(fp);
free(mData);
Diese Quellcode stammt vom Hersteller (daher auch der teilweise C-Stil), ich habe nur die fehlenden Typen (void, FILE, size_t) ergänzt (richtig?).
Um ein Bild zu generien muss ich auf jeden einzelnen Pixel für z.B. az zugreifen können.
Prinziell würde ich so vorgehen:
dataStruct *p;
short d;
d=p[1].az;
Dies funktioniert natürlich nicht, da der Zeiger p nicht initialisiert wird. Leider weiß ich nicht wie ich dies anstellen soll.
Ist der prinzipielle Weg richtig, wenn ja, wie intitialisiere ich p? Falls nicht, wie kann ich vorgehen?