L'enregistrement d'un tableau Numpy comme une image (mode d'emploi)
J'ai trouvé ma réponse dans un post précédent: L'enregistrement d'un tableau Numpy comme une image. Le seul problème, il n'y a pas beaucoup d'instruction sur l'utilisation de la PyPNG module.
Il y a seulement quelques exemples en ligne--
http://packages.python.org/pypng/ex.html#numpy
http://nullege.com/codes/search/png.Writer.write
Mais que dois-je faire à la lumière de l' .les erreurs d'écriture comme ceci:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/png.py", line 638, in write
nrows = self.write_passes(outfile, rows)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/png.py", line 783, in write_passes
extend(row)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/png.py", line 780, in <lambda>
return lambda sl: f(map(int, sl))
TypeError: argument 2 to map() must support iteration
Voici où l'erreur se produit dans mon code, PCA_tool.py (L'erreur vient après "le dossier.écrire(outfilename, PrincipalComponent"):
#PrincipalComponent.save(path+'transform_'+str(each)+'.png', format='PNG')
outfilename = open(str(path)+'transformed/transform_'+str(each)+'.png', 'wb')
folder = png.Writer(m,n,greyscale=True)
folder.write(outfilename, PrincipalComponent)
outfilename.close()
sys.exit(0)
Je suis en train d'enregistrer un 8400 élément de numpy.ndarray en tant que n=80 colonnes, m=105 ligne en niveaux de gris image png.
Merci,
uint8
) et puis Image.fromarray(data).save('whatever.png')
Je dois dire, PrincipalComponent est de numpy.ndarray type et non une liste. Je peux redimensionner le tableau à l'aide de PrincipalComponent.remodeler(ligne,col), mais la conversion de numpy.ndarray dans une écriture du fichier image?
C'est (un
numpy.ndarray
) ce Image.fromarray
s'attend, pour ce que ça vaut.
OriginalL'auteur Alvin | 2011-08-02
Vous devez vous connecter pour publier un commentaire.
Vous pourriez être mieux à l'aide de PIL:
comment u en faire de même si vos données est de 3 dimensiona des données dans le format rgb
comment pouvez enregistrer cette variable comme un fichier image sur le serveur?
OriginalL'auteur Joe Kington
Une mise à jour de la réponse est dans l'ordre
via https://stackoverflow.com/a/7700789/184085
OriginalL'auteur yoshco
Bienvenue à Débordement de Pile! Merci pour cet extrait de code, qui peut fournir une aide immédiate. Une explication correcte améliorerait grandement sa valeur éducative, en montrant pourquoi c'est une bonne solution au problème, et de le rendre plus utile pour les futurs lecteurs similaires, mais pas identiques, les questions. Veuillez modifier votre réponse pour ajouter des explications, et de donner une indication de ce que les limites et les hypothèses s'appliquent.
OriginalL'auteur kxm silence
Il serait préférable d'utiliser scipy.
Une documentation complète est ici: https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.misc.imsave.html
OriginalL'auteur killmenow