2011-08-01 2 views
1

J'essaye d'ajouter un filigrane d'image aux images (les tailles d'image peuvent aller jusqu'à 2.5MB), mais mes solutions actuelles exigent une plus grande quantité de mémoire - au moment j'emploie https://bitbucket.org/codekoala/django-watermark .Filigrane de faible consommation de mémoire pour Python

En raison de la limite de mémoire de 60 Mo définie par mon hébergement, j'obtiens des erreurs MemoryError.

Il pourrait s'agir d'une fuite de mémoire ou des images de 2,5 Mo sont tout simplement trop grandes pour une limite de RAM de 60 Mo. Avant que je fasse plus d'enquêtes, quelqu'un sait-il pour un watermarker d'image de basse consommation de mémoire? L'actuel utilise PIL (afaik est le meilleur pour le travail). Si je me souviens, il offre une option pour charger l'image par parties - ce pourrait être ma solution mais je ne trouve aucune ressource à ce sujet.

Cordialement, E

+0

La taille sur disque d'un fichier JPEG est-elle de 2,5 Mo ou la taille en mémoire après la décompression? –

+0

2,5 Mo sur le disque taille – FrEaKmAn

+1

Ce nombre ne dit rien du tout sur la taille réelle des images. Veuillez spécifier la résolution et la profondeur de couleur pour avoir une idée de la quantité de mémoire nécessaire pour charger une telle image. –

Répondre

1

Python offre des outils peu prêt/productized pour le traitement d'image progressive. Ma recommandation est simplement de déplacer un hébergement où vous pouvez décompresser en toute sécurité une image complète à la mémoire. Cela ne va pas pour Python, mais pour d'autres plateformes aussi bien en général. La seule chose qui peut être tamponnée avec PIL est le chargement de l'image sur la connexion réseau, de sorte que vous pouvez commencer à traiter l'image avant qu'elle ait été entièrement reçue.

Questions connexes