Bonjour à tous,
Je cherche à faire un script permettant de convertir une image FITS que je crée à partir d'un script C (issue d'une caméra CCD) en image compressée et réduite JPEG. J'ai validé le FITS généré par le script C ici donc l'info contenue dans le FITS semble correcte, à mois que...
Avec la librairie matplotlib, j'arrive à afficher l'image (très réduite et dégradée), à en extraire l'histogramme et deux ou trois autres bricoles de tests, donc ce qui veut dire que mon FITS semble exploitable.
Par contre je n'arrive pas à récupérer le tableau de pixels pour en créer un jpeg propre.
Image d'origine extraite du FITS et compressée en JPEG manuellement pour le forum (le flou est juste une absence mise au point pour les essais) :
Image générée à l'aide de la librairie matplotlib :
JPEG générée par mon script python :
Comme si le script ne prenait que 1/4 de l'image en l'étirant aux dimensions d'origine en remplissant les pixels vides par une info tirée des pixels environnants, d'où la dégradation importante.
Voici le dernier extrait de code utilisé, j'ai fait d'autres tentatives mais rendant quasiment le même résultat ou une image totalement noire.
Merci pour votre aide,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 hdu_list = fits.open(image_file) image_data = fits.getdata(image_file) width=2056 height=2062 pimage = Image.fromarray(image_data.reshape((height,width)),'L') pimage.show()
Olivier
EDIT :
Résolu grâce à :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 from scipy.misc import imsave imsave('test.jpg',image_data)
Partager