mardi 19 décembre 2006

Scipy : traitement du signal et de l'image

Ressources

Site officiel :
http://www.scipy.org/

Documentation :
http://www.scipy.org/Documentation

Utilisation en traitement d'image :
http://www.scipy.org/Cookbook/SignalSmooth
http://www.scipy.org/SciPyPackages/Ndimage
http://www.scipy.org/Cookbook/Matplotlib/LoadImage
http://www.scipy.org/Cookbook/Matplotlib/converting_a_matrix_to_a_raster_image


Présentation de Scipy

Le but de Scipy est de regrouper les outils python utiles dans le domaine scientifique. Il rassemble donc plusieurs modules.

La brique de base de ce travail est le module "numpy" (scipy-core). On peut se contenter de charger et utiliser directement numpy, mais il est préférable de charger le module "scipy" (qui s'occupe de charger numpy de facon transparente) et d'utiliser numpy indirectement, à travers Scipy.

Scipy comporte un certain nombre de sous modules, dont on ne peut utiliser les fonction que si on les charge explicitement. Les sous modules nécessaires au traitement d'images sont :

  • misc,
  • ndimage,
  • signal.

Premiers pas : charger une image et l'afficher

Une solution est de faire appel à l'artillerie lourde, et d'utiliser "matplotlib" pour ce qui est du chargement et de l'affichage des images.

Nos besoins étant très simples, on va pour l'instant se contenter d'utiliser les fonctions imread() et imshow() qui se trouvent dans le sous module "misc" de "scipy".

Ces fonctions sont en fait dans "scipy.misc.pilutil", un sous module qui regroupe des fonctions faisant appel à la bilbliothéque PIL (cf "import Image").

Le code :

import scipy
from scipy import misc

filename = sys.argv[1]

im = scipy.misc.imread(filename)
scipy.misc.imshow(im)

La fonction "imshow()" fait appel (comme PIL qui est ici utilisé) au programme externe "XV" pour l'affichage des images.

1 commentaire:

Anonyme a dit…

minds intas delta unloading finds formerly dropping michele attributes glasses ccesl
lolikneri havaqatsu