Comment convertir une image en tableau NumPy à l'aide de Python et l'enregistrer sous forme de fichier CSV ?

王林
Libérer: 2023-09-08 11:17:02
avant
1183 Les gens l'ont consulté

Comment convertir une image en tableau NumPy à laide de Python et lenregistrer sous forme de fichier CSV ?

Python est un langage de programmation puissant avec un grand nombre de bibliothèques et de modules. L'une de ces bibliothèques est NumPy, qui est utilisée pour les calculs numériques et le traitement de grands tableaux et matrices multidimensionnels. Une autre bibliothèque populaire pour le traitement d’images en Python est Pillow, qui est un fork de Python Imaging Library (PIL).

Dans ce tutoriel, nous allons vous montrer comment convertir une image en tableau NumPy et l'enregistrer dans un fichier CSV à l'aide de Python. Nous utiliserons la bibliothèque Pillow pour ouvrir et convertir l'image en un tableau NumPy, et le module CSV pour enregistrer le tableau NumPy dans un fichier CSV. Dans la partie suivante de cet article, nous aborderons les étapes nécessaires pour convertir une image en tableau NumPy à l'aide de la bibliothèque Pillow. Alors commençons !

Comment convertir une image en tableau NumPy et l'enregistrer sous forme de fichier CSV à l'aide de Python ?

Avant de plonger dans le processus de conversion d'une image en tableau NumPy et de l'enregistrer dans un fichier CSV, jetons d'abord un coup d'œil aux deux bibliothèques que nous utiliserons dans ce didacticiel : Pillow et NumPy.

Pillow est une bibliothèque d'imagerie Python (PIL) qui ajoute la prise en charge de l'ouverture, de la manipulation et de l'enregistrement de nombreux formats de fichiers image différents.

NumPy est la bibliothèque de base pour le calcul scientifique en Python. Il prend en charge de grands tableaux et matrices multidimensionnels, ainsi qu'une gamme de fonctions mathématiques qui les exploitent.

Pour utiliser ces bibliothèques, nous devons d'abord les installer sur notre système. Nous pouvons le faire en utilisant le pip du programme d'installation du package Python.

Voici comment installer Pillow :

pip install Pillow
Copier après la connexion

Voici comment installer NumPy :

pip install numpy
Copier après la connexion

Maintenant que nous avons installé les bibliothèques nécessaires, passons à la partie suivante de cet article, la conversion des images en tableaux NumPy.

Convertir l'image en tableau NumPy

Considérez le code suivant qui convertit une image en tableau Numpy :

# Import necessary libraries
import csv
from PIL import Image
import numpy as np

# Open image using Pillow library
img = Image.open('image.jpg')

# Convert image to NumPy array
np_array = np.array(img)

# Save NumPy array to CSV file
np.savetxt('output.csv', np_array, delimiter=',', fmt='%d')

# Print the shape of the NumPy array
print("Shape of NumPy array:", np_array.shape)
Copier après la connexion

Dans le code ci-dessus, nous importons d'abord les bibliothèques nécessaires csv, PIL et numpy. La bibliothèque CSV est utilisée pour lire et écrire des fichiers CSV, tandis que la bibliothèque PIL est utilisée pour ouvrir et manipuler des images. La bibliothèque NumPy est utilisée pour convertir des images en tableaux NumPy.

Ensuite, nous ouvrons un fichier image nommé image.jpg en utilisant la méthode Image.open() de la bibliothèque PIL. Cette méthode renvoie un objet Image.

Après cela, utilisez la méthode np.array() de la bibliothèque NumPy pour convertir l'objet image en tableau NumPy. Le tableau résultant contient les valeurs de pixels de l'image. Enfin, nous enregistrons le tableau NumPy dans un fichier CSV nommé output.csv à l'aide de la méthode np.savetxt() de la bibliothèque NumPy. Nous spécifions le délimiteur comme "," et le format comme %d pour garantir que les valeurs dans le fichier CSV sont séparées par des virgules et sont des entiers.

Enfin, nous avons imprimé la forme du tableau NumPy en utilisant la propriété shape. La forme d'un tableau NumPy représente les dimensions du tableau, dans ce cas la hauteur, la largeur et le nombre de canaux de couleur (le cas échéant).

La sortie du code ci-dessus créera un nouveau fichier appelé output.csv dans le même répertoire que le script, contenant les valeurs des pixels de l'image au format CSV, et le terminal affichera ce qui suit :

Shape of NumPy array: (505, 600, 3)
Copier après la connexion

Ici, la forme du tableau NumPy est (505, 600, 3), ce qui signifie que la hauteur et la largeur de l'image sont de 100 pixels chacune, et chaque pixel a 3 canaux de couleur (RVB).

Il convient de noter que la forme du tableau NumPy dépend des dimensions de l'image d'entrée. Si l'image est une image couleur, la forme du tableau sera (hauteur, largeur, nombre de canaux de couleur) ; si l'image est une image en niveaux de gris, la forme du tableau sera (hauteur, largeur).

Conclusion

Dans cet article, nous avons appris comment convertir une image en tableau NumPy et l'enregistrer dans un fichier CSV à l'aide de Python. Nous utilisons la bibliothèque Pillow pour ouvrir et convertir l'image en un tableau NumPy, et utilisons le module CSV pour enregistrer le tableau NumPy dans un fichier CSV. Nous couvrons également les étapes requises pour installer les bibliothèques nécessaires et fournissons un exemple de code pour chaque méthode. Il est important de noter que la forme du tableau NumPy dépend des dimensions de l'image d'entrée et que la forme du tableau sera différente pour les images en couleur et en niveaux de gris. En utilisant cette technique, nous pouvons facilement manipuler et traiter des images à l'aide de la puissante bibliothèque NumPy.

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!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal