On Sat, Feb 07, 2004 at 12:09:44AM +0100, Jerome KIEFFER wrote:
> Salut,
>
> [...]
>
> Je viens de jouer avec PIL, la bibliotheque de manipulation des images
> sous python et simplement en remplacant les appels a "convert" et a
> "identify" par des appels a PIL j'ai multplié par 10 la vitesse
> d'execution du code. (passant de 52s à 5.2s pour 30 images à 3Mpix)
>
Il faut faire attention avec ce genre de raisonnement.
- D'abord, il existe differents algorithmes de redimensionnement d'image
comme d'ailleur de conversion entre deux formats donnes. Entre deux
algo, les performances peuvent etre differents ... comme d'ailleurs le
resultat. Le programme convert verifie en plus le format de l'image
destinataire dans l'eventualite d'une conversion de format.
De plus, pour accelerer le redimensionnement avec convert, il vaut mieux
utiliser aussi l'option -size avec la dimension voulue
(convert -size 200x300 toto.jpg -resize 200x300 titi.jpg par exemple)
- de plus, lorsque tu utilises convert dans ton script python, tu ouvres
alors un shell pour l'execution de cette commande
Generalement, lorsque l'on veut utiliser ImageMagick par exemple pour
traiter des images, il est conseille d'utiliser sa bibliotheque plutot
que ses commandes, excepte dans un script shell (sh, csh). Il existe un
wrapper en Perl, Java (limite), Python, etc.
Sinon, pour traiter des images avec Python, j'ai entendu du bien de PIL.
--
Miguel Moquillon
http://miguel.moquillon.free.fr