Ich erstelle verschiedene 2D-Arrays von Größen von 100x100 bis 2000x2000 Elemente. Die Werte innerhalb der Arrays können auf eine Grauskala von 0 bis 255 begrenzt werden und müssen dann in ein PGM-Bild geschrieben werden, um die Daten visuell darzustellen.Schreibe 2D-Array in PGM Graustufenbild
Zum Beispiel Ich erkläre die Arrays global als:
element case1[100][100];
Element eine Struktur double pixelValue
und ein boolescher Wert ist (das wird nicht verwendet werden, wenn sie tatsächlich in die Datei zu schreiben, aber ist notwendig, das Programm).
das PGM-Bild Schriftlich, ich Fehler habe die FILE *fp
in diesem Bereich des Codes unter Berücksichtigung, wenn nach dem Header zu schreiben:
int *p
for (int x = 0; x < dimension; x++)
{
for (int y = 0; y < dimension; y++)
{ //also doesn't work as: fp << (unsigned char)case1[x][y].pix;
int pix = case1[x][y].pixelValue;
*p = pix;
fp << (unsigned char)*p;
}
}
fclose(fp);
Ich bin nicht sicher, wie man mit dem Zeiger, um zu arbeiten um die pixelValue
von jedem Ort innerhalb des 2D-Arrays zu bekommen. Ich muss in der Lage sein, durch jede pixelValue
iterieren, um die visuelle Darstellung der Daten zu erhalten.
Vielen Dank für Ihre Hilfe!