Disons que j'ai une image de 3841 x 7195 pixels. Je voudrais enregistrer le contenu de la figure sur le disque, ce qui donne une image de la taille exacte que je spécifie en pixels.
Pas d'axe, pas de titres. Juste l'image. Personnellement, je ne me soucie pas des DPI, car je souhaite uniquement spécifier la taille de l'image sur l'écran du disque en pixels .
J'ai lu d' autres fils , et ils semblent tous faire des conversions en pouces, puis spécifier les dimensions de la figure en pouces et ajuster les dpi d'une manière ou d'une autre. Je voudrais éviter de faire face à la perte de précision potentielle qui pourrait résulter des conversions pixel-pouces.
J'ai essayé avec:
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)
sans chance (Python se plaint que la largeur et la hauteur doivent chacune être inférieures à 32768 (?))
De tout ce que j'ai vu, matplotlib
nécessite que la taille de la figure soit spécifiée dans inches
et dpi
, mais je ne suis intéressé que par les pixels que la figure prend dans le disque. Comment puis-je faire ceci?
Pour clarifier: je cherche un moyen de le faire avec matplotlib
, et non avec d'autres bibliothèques d'enregistrement d'images.