2 votes

Comment convertir le format de fichier d'une image massive

Comment puis-je convertir une très grande carte pixel portable ( ppm ) dans un fichier png sur MacOS ?

J'ai un énorme ppm image sur mon ordinateur. Le fichier fait ~70 Go et je dois le convertir en png, ce qui lui ferait ~100 Mo. J'ai libéré suffisamment d'espace (>70 Go) sur mon ordinateur pour effectuer la conversion mais je rencontre quelques problèmes.

Ce que j'ai essayé

  1. Ouvrir l'image dans l'aperçu et exporter en png

    L'aperçu refuse d'afficher l'image et ne montre qu'un carré noir. Lorsque j'essaie d'exporter, il me dit que le fichier exporté sera de zéro octet. Donc... pas de chance.

  2. Utilisez ImageMagick pour convertir le fichier à partir du terminal

    Il s'exécute et tente de convertir le fichier, mais des problèmes surviennent après environ une minute de calcul. Tout d'abord, mon ordinateur se fige puis redémarre après une ou deux minutes en raison d'une panique du noyau.

4voto

Graham Miln Points 39606

Netpbm

Netpbm est un ensemble de programmes graphiques et une bibliothèque de programmation.

Essayez d'utiliser le logiciel libre netpbm pour effectuer la conversion. La conversion ressemblera probablement à ceci :

 pnmtopng input.ppm > output.png

input.ppm est le nom du fichier volumineux existant et output.png est le nom de l'élément souhaité png fichier formaté.

Le projet parle d'essayer de limiter l'utilisation de la mémoire :

Utilisation de la mémoire

Une caractéristique importante qui varie d'un logiciel graphique à l'autre est la quantité de mémoire qu'il utilise, et comment. Lit-il une image entière en mémoire, y travaille-t-il, puis l'écrit-il en une seule fois ? Lit-il et écrit-il un pixel à la fois ? Dans le cas de Netpbm, cela diffère d'un programme à l'autre, mais il y a quelques généralisations que nous pouvons faire.

La plupart des programmes Netpbm conservent en mémoire une seule rangée de pixels à la fois. Un tel programme lit une rangée depuis un fichier d'entrée, la traite, puis écrit une rangée dans un fichier de sortie. Certains programmes exécutent des algorithmes qui ne peuvent pas fonctionner de cette manière, ils gardent donc une petite fenêtre de rangées en mémoire. D'autres doivent garder l'image entière en mémoire. Si vous pensez au travail que fait le programme, vous pouvez probablement deviner lequel il fait.

Installation de

Vous pouvez installer netpbm sur votre Mac en utilisant le projet Homebrew, voir Installer Homebrew . Une fois que brew est sur votre Mac, utilisez la commande suivante pour installer netpbm :

brew install netpbm

Si vous avez besoin d'aide pour utiliser la ligne de commande ou les outils mentionnés, veuillez vous adresser à poser des questions .

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X