by Anonymous » 07 Sep 2025, 14:04
Wie der Titel sagt, versuche ich, eine Abb in einen Pil.image umzuwandeln. Ich kann dies derzeit tun, indem ich zuerst die Abb < /code> auf Festplatte speichere und diese Datei dann mit Image.open () < /code> öffne, aber der Vorgang dauert länger als erwartet, und ich hoffe, dass es ein bisschen schneller sein wird.# build fig
figsize, dpi = self._calc_fig_size_res(img_height)
fig = plt.Figure(figsize=figsize)
canvas = FigureCanvas(fig)
ax = fig.add_subplot(111)
ax.imshow(torch.from_numpy(S).flip(0), cmap = cmap)
fig.subplots_adjust(left = 0, right = 1, bottom = 0, top = 1)
ax.axis('tight'); ax.axis('off')
# export
fig.savefig(export_path, dpi = dpi)
# open image as PIL object
img = Image.open(export_path)
< /code>
Ich habe es versucht, dies zu tun, nachdem ich die Feigen erstellt habe (es wäre kurz vor der Exportphase): < /p>
pil_img = Image.frombytes('RGB', canvas.get_width_height(), canvas.tostring_rgb())
< /code>
wird jedoch nicht das gesamte Bild angezeigt. Es sieht so aus, als wäre es eine Ernte der oberen linken Ecke, aber es könnte nur eine seltsame Darstellung der Daten sein - ich arbeite mit Spektrogrammen, damit die Bilder ziemlich abstrakt sind.
Wie der Titel sagt, versuche ich, eine Abb in einen Pil.image umzuwandeln. Ich kann dies derzeit tun, indem ich zuerst die Abb < /code> auf Festplatte speichere und diese Datei dann mit Image.open () < /code> öffne, aber der Vorgang dauert länger als erwartet, und ich hoffe, dass es ein bisschen schneller sein wird.# build fig
figsize, dpi = self._calc_fig_size_res(img_height)
fig = plt.Figure(figsize=figsize)
canvas = FigureCanvas(fig)
ax = fig.add_subplot(111)
ax.imshow(torch.from_numpy(S).flip(0), cmap = cmap)
fig.subplots_adjust(left = 0, right = 1, bottom = 0, top = 1)
ax.axis('tight'); ax.axis('off')
# export
fig.savefig(export_path, dpi = dpi)
# open image as PIL object
img = Image.open(export_path)
< /code>
Ich habe es versucht, dies zu tun, nachdem ich die Feigen erstellt habe (es wäre kurz vor der Exportphase): < /p>
pil_img = Image.frombytes('RGB', canvas.get_width_height(), canvas.tostring_rgb())
< /code>
wird jedoch nicht das gesamte Bild angezeigt. Es sieht so aus, als wäre es eine Ernte der oberen linken Ecke, aber es könnte nur eine seltsame Darstellung der Daten sein - ich arbeite mit Spektrogrammen, damit die Bilder ziemlich abstrakt sind.