Comment utiliser Python pour effectuer des opérations au niveau des pixels sur des images
Dans le développement de la technologie moderne, nous devons souvent effectuer diverses opérations et traitements sur des images. Pour certains besoins particuliers en matière de traitement d’image, les opérations au niveau des pixels constituent une méthode courante. Dans cet article, nous présenterons comment utiliser Python pour effectuer des opérations au niveau des pixels sur des images, avec des exemples de code correspondants.
- Importez les bibliothèques requises
Tout d'abord, nous devons importer plusieurs bibliothèques couramment utilisées : PIL (Python Imaging Library), NumPy et Matplotlib. La bibliothèque PIL est une bibliothèque de traitement d'images couramment utilisée en Python, NumPy est une bibliothèque pour les calculs numériques et Matplotlib est une bibliothèque pour dessiner des graphiques et des images.
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
- Ouvrir et afficher une image
Grâce au module Image de la bibliothèque PIL, nous pouvons facilement ouvrir et afficher une image. L'exemple de code suivant ouvrira une image nommée "image.jpg" et l'affichera dans une fenêtre.
img = Image.open("image.jpg")
img.show()
- Obtenir la valeur en pixels de l'image
Pour effectuer des opérations au niveau des pixels sur l'image, nous devons d'abord obtenir la valeur en pixels de l'image. En utilisant le module Image de la bibliothèque PIL, nous pouvons obtenir les valeurs de pixels de l'image en appelant la méthode getdata()
et la convertir en un tableau NumPy. getdata()
方法来获取图像的像素值,并将其转换为NumPy数组。
pixels = np.array(img.getdata()).reshape(img.size[1], img.size[0], 3)
在上面的代码中,getdata()
方法返回一个一维数组,其中包含图像的像素值。我们通过reshape()
gray_img = np.mean(pixels, axis=2).astype(np.uint8)
plt.imshow(gray_img, cmap="gray")
plt.show()
Dans le code ci-dessus, la méthode getdata()
renvoie un tableau unidimensionnel contenant les valeurs de pixels de l'image. Nous le convertissons en un tableau tridimensionnel via la méthode reshape()
, où la première dimension représente la hauteur de l'image, la deuxième dimension représente la largeur de l'image et la troisième dimension représente la nombre de canaux de l'image.
Effectuer des opérations au niveau des pixels sur les images
Une fois que nous avons obtenu les valeurs de pixels de l'image, nous pouvons effectuer diverses opérations sur celle-ci. Voici un exemple de code pour quelques opérations courantes au niveau des pixels :
Un moyen simple de convertir une image en niveaux de gris consiste à faire la moyenne des valeurs RVB de chaque pixel. Le code suivant fera cela et affichera les résultats dans une nouvelle fenêtre.
Un moyen simple d'inverser une image consiste à inverser la valeur RVB de chaque pixel (255 moins la valeur actuelle). Le code suivant fera cela et affichera les résultats dans une nouvelle fenêtre.
from scipy.ndimage.filters import convolve
kernel = np.array([[1, 2, 1],
[2, 4, 2],
[1, 2, 1]])
blurred_img = convolve(pixels, kernel)
plt.imshow(blurred_img.astype(np.uint8))
plt.show()
Flou gaussien
Le flou gaussien est une méthode de flou d'image courante qui peut être obtenue en prenant une moyenne pondérée des pixels entourant chaque pixel. Le code suivant fera cela et affichera les résultats dans une nouvelle fenêtre.
result_img = Image.fromarray(blurred_img.astype(np.uint8))
result_img.save("result.jpg")
Enregistrez l'image traitée
Une fois l'image manipulée au niveau du pixel, nous pouvons l'enregistrer en tant que nouveau fichier image en utilisant le module Image de la bibliothèque PIL. Le code suivant montrera comment enregistrer l'image traitée.
rrreee
Grâce aux étapes ci-dessus, nous pouvons utiliser Python pour effectuer des opérations au niveau des pixels sur l'image et enregistrer le résultat en tant que nouveau fichier image. De plus, nous pouvons également personnaliser diverses opérations au niveau des pixels en fonction des besoins et les implémenter via du code. J'espère que cet article pourra vous fournir de l'aide et de l'inspiration pour votre travail et vos études en traitement d'image.
Résumé : 🎜Cet article explique comment utiliser Python pour effectuer des opérations au niveau des pixels sur les images. Nous ouvrons et affichons des images en important la bibliothèque PIL, la bibliothèque NumPy et la bibliothèque Matplotlib. Ensuite, obtenez les valeurs de pixels de l'image et effectuez des opérations au niveau des pixels sur l'image, telles que les niveaux de gris, l'inversion et le flou gaussien. Enfin, enregistrez l'image traitée. Grâce à ces étapes, nous pouvons traiter les images de manière flexible et mettre en œuvre une variété de besoins en matière de traitement d’images. 🎜
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!