Powiedzmy, że mam obraz o rozmiarze 3841 x 7195 pikseli. Chciałbym zapisać zawartość figury na dysku, w wyniku czego otrzymuję obraz o dokładnym rozmiarze, który określę w pikselach.
Bez osi, bez tytułów. Tylko obraz. Osobiście nie obchodzą mnie DPI, ponieważ chcę tylko określić rozmiar obrazu na ekranie w pikselach .
Czytałem inne wątki i wydaje się, że wszystkie one przeliczają na cale, a następnie określają wymiary figury w calach i dostosowują w jakiś sposób dpi. Chciałbym uniknąć potencjalnej utraty dokładności, która może wynikać z konwersji pikseli na cale.
Próbowałem z:
w = 7195
h = 3841
fig = plt.figure(frameon=False)
fig.set_size_inches(w,h)
ax = plt.Axes(fig, [0., 0., 1., 1.])
ax.set_axis_off()
fig.add_axes(ax)
ax.imshow(im_np, aspect='normal')
fig.savefig(some_path, dpi=1)
bez powodzenia (Python narzeka, że szerokość i wysokość muszą być mniejsze niż 32768 (?))
Ze wszystkiego, co widziałem, matplotlib
wymaga określenia rozmiaru figury w inches
i dpi
, ale interesują mnie tylko piksele, które figura zajmuje na dysku. W jaki sposób mogę to zrobić?
Wyjaśnienie: szukam sposobu, aby to zrobić matplotlib
z innymi bibliotekami do zapisywania obrazów, a nie z nimi.