374 Stimmen

Wie kann ich ein Numpy-Array in ein Bild konvertieren (und anzeigen)?

Ich habe ein Array folgendermaßen erstellt:

import numpy as np
data = np.zeros( (512,512,3), dtype=np.uint8)
data[256,256] = [255,0,0]

Ich möchte einen einzelnen roten Punkt in der Mitte eines 512x512 Bildes anzeigen. (Zumindest für den Anfang... Ich denke, ich kann den Rest von dort herausfinden)

9voto

Sivasai Punkte 81
import numpy as np
from keras.preprocessing.image import array_to_img
img = np.zeros([525,525,3], np.uint8)
b=array_to_img(img)
b

7voto

Stefan Kendall Punkte 63658

Verwendung von pygame können Sie ein Fenster öffnen, die Oberfläche als Pixelarray erhalten und von dort aus nach Belieben manipulieren. Sie müssen jedoch Ihr Numpy-Array in das Oberflächen-Array kopieren, was viel langsamer ist als tatsächliche Grafikoperationen auf den Pygame-Oberflächen selbst.

3voto

user140536 Punkte 142

Ergänzung für die Verwendung von matplotlib. Ich fand es praktisch, wenn ich Computer-Vision-Aufgaben erledigte. Nehmen wir an, Sie haben Daten mit dtype = int32

from matplotlib import pyplot as plot
import numpy as np

fig = plot.figure()
ax = fig.add_subplot(1, 1, 1)
# make sure your data is in H W C, otherwise you can change it by
# data = data.transpose((_, _, _))
data = np.zeros((512,512,3), dtype=np.int32)
data[256,256] = [255,0,0]
ax.imshow(data.astype(np.uint8))

3voto

abbujaansboy Punkte 31

Ihr Bild befindet sich zum Beispiel in einem Array mit dem Namen 'image'.

Alles, was Sie tun, ist

plt.imshow(image)
plt.show

Dadurch wird ein Array in Form eines Bildes angezeigt Vergessen Sie auch nicht, PLT zu importieren

0voto

ars Punkte 112843

En Python Bildgebungsbibliothek kann Bilder mit Numpy-Arrays anzeigen. Auf dieser Seite finden Sie Beispielcode:

EDIT: Wie der Hinweis am Ende dieser Seite besagt, sollten Sie sich die neuesten Versionshinweise ansehen, die das Ganze wesentlich vereinfachen:

http://effbot.org/zone/pil-changes-116.htm

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X