[Python, Numpy, PIL] Probleme bei der Bildgenerierung
Verfasst: Donnerstag 18. April 2013, 13:20
Hallo Zusammen,
ich stehe vor einem Problem das ich mir nicht ganz erklären kann:
Ich möchte aus einem zweidimensionalen Numpy Array mit dem PIL Modul ein Bilder erstellen.
Um das ganze zu testen bin ich erstmal im Kleinstbereich unterwegs, was heisst dass ich vorerst einen Bereich von 4x4 Pixel in ein
Bild schreib das eigentlich 600x700 Pixel groß ist.
Zu allererst habe ich mir ein leeres Numpy Array von der Größe 600x700 generiert.
In dieses schreibe ich dann für den 4x4 Pixelbereich unterschiedliche Farbwerte. Dies funktioniert wunderbar, was
ich über eine Ausgabe getestet habe:
70.0 Koordinaten: 0 0
69.0 Koordinaten: 0 1
69.0 Koordinaten: 0 2
66.0 Koordinaten: 0 3
69.0 Koordinaten: 1 0
69.0 Koordinaten: 1 1
70.0 Koordinaten: 1 2
66.0 Koordinaten: 1 3
68.0 Koordinaten: 2 0
70.0 Koordinaten: 2 1
67.0 Koordinaten: 2 2
67.0 Koordinaten: 2 3
67.0 Koordinaten: 3 0
66.0 Koordinaten: 3 1
67.0 Koordinaten: 3 2
64.0 Koordinaten: 3 3
Wenn ich nun das bild mit folgendem befehl erzeuge:
werden im entstehenden bild für jeden Pixel 3 Grauwerte angezeigt und zwischen den Pixeln sind breite schwarze abstände.
Der gezeichnete Bereich verrgößert sich dadurch auch auf 32x25 statt 4x4 Pixel.
Es wäre toll wenn mir jemand weiterhelfen könnte!
Wenn der letzt Teil etwas unverständlich sein sollte kann ich noch ein Bild nachliefern.
Vielen Dank schon einmal!
Max
ich stehe vor einem Problem das ich mir nicht ganz erklären kann:
Ich möchte aus einem zweidimensionalen Numpy Array mit dem PIL Modul ein Bilder erstellen.
Um das ganze zu testen bin ich erstmal im Kleinstbereich unterwegs, was heisst dass ich vorerst einen Bereich von 4x4 Pixel in ein
Bild schreib das eigentlich 600x700 Pixel groß ist.
Zu allererst habe ich mir ein leeres Numpy Array von der Größe 600x700 generiert.
In dieses schreibe ich dann für den 4x4 Pixelbereich unterschiedliche Farbwerte. Dies funktioniert wunderbar, was
ich über eine Ausgabe getestet habe:
70.0 Koordinaten: 0 0
69.0 Koordinaten: 0 1
69.0 Koordinaten: 0 2
66.0 Koordinaten: 0 3
69.0 Koordinaten: 1 0
69.0 Koordinaten: 1 1
70.0 Koordinaten: 1 2
66.0 Koordinaten: 1 3
68.0 Koordinaten: 2 0
70.0 Koordinaten: 2 1
67.0 Koordinaten: 2 2
67.0 Koordinaten: 2 3
67.0 Koordinaten: 3 0
66.0 Koordinaten: 3 1
67.0 Koordinaten: 3 2
64.0 Koordinaten: 3 3
Wenn ich nun das bild mit folgendem befehl erzeuge:
Code: Alles auswählen
myImage = pImage.fromstring('L', (myImageArray.shape[1], myImageArray.shape[0]), myImageArray.tostring())Der gezeichnete Bereich verrgößert sich dadurch auch auf 32x25 statt 4x4 Pixel.
Es wäre toll wenn mir jemand weiterhelfen könnte!
Wenn der letzt Teil etwas unverständlich sein sollte kann ich noch ein Bild nachliefern.
Vielen Dank schon einmal!
Max