Maison >développement back-end >Tutoriel Python >Comment charger des images à partir d'URL Web dans des objets PIL en Python ?
Lecture des données d'image à partir d'URL Web en Python
Récupérer des données d'image à partir d'un fichier local à l'aide de la bibliothèque d'images Python (PIL) est simple. Cependant, des défis surviennent lors de l’accès aux images hébergées sur des URL distantes. Cet article fournira une solution pour créer efficacement des objets image PIL à partir de sources URL, éliminant ainsi le besoin de stocker des fichiers intermédiaires.
Le principal problème lié à l'utilisation de Image.open(urlopen(url)) est l'indisponibilité de la recherche. () pour les objets de type fichier. Pour résoudre ce problème, on pourrait tenter Image.open(urlopen(url).read()), mais cette approche échoue également.
Heureusement, il existe une solution viable dans Python 3. En utilisant la classe BytesIO de le module io, vous pouvez travailler directement avec les données d'image récupérées à partir de l'URL. Voici comment y parvenir :
from PIL import Image import requests from io import BytesIO response = requests.get(url) img = Image.open(BytesIO(response.content))
Cet extrait utilise d'abord la bibliothèque de requêtes pour récupérer les données d'image à partir de l'URL spécifiée. La classe BytesIO enveloppe ensuite le contenu brut dans un objet de type fichier qui peut être directement transmis à Image.open(), créant ainsi un objet image PIL.
En tirant parti de cette approche, vous pouvez charger efficacement des données d'image à partir de URL sans avoir besoin de créer de fichiers temporaires, rationalisant ainsi vos flux de travail de traitement d'image.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!