Maison >développement back-end >Tutoriel Python >Comment extraire la couleur des images à l'aide de Python
Comment utiliser Python pour extraire la couleur des images
Introduction :
Les images sont une partie indispensable de nos vies, et dans le domaine de la vision par ordinateur, l'extraction des couleurs des images est une tâche très importante. Cet article expliquera comment utiliser le langage de programmation Python pour implémenter l'extraction des couleurs à partir d'images et joindra des exemples de code pour référence aux lecteurs.
from PIL import Image import numpy as np
Image.open()
de la bibliothèque PIL pour ouvrir le fichier image et le convertir en image RVB. L'image RVB se compose de trois canaux de couleur : rouge, vert et bleu. La plage de valeurs de chaque canal est comprise entre 0 et 255. Image.open()
函数打开图片文件,并将其转换为一张RGB图像。RGB图像由红、绿、蓝三个颜色通道组成,每个通道的取值范围是0-255。image = Image.open('image.jpg').convert('RGB')
ImageToArray()
image_array = np.array(image)
ImageToArray()
dans la bibliothèque PIL. Un tableau numpy est un objet tableau multidimensionnel qui peut facilement traiter et analyser des images. red_channel = image_array[:,:,0] green_channel = image_array[:,:,1] blue_channel = image_array[:,:,2]
unique_colors, counts = np.unique(image_array.reshape(-1, 3), axis=0, return_counts=True)
import matplotlib.pyplot as plt colors = unique_colors / 255.0 plt.pie(counts, colors=colors) plt.show()
Enfin, nous pouvons utiliser la bibliothèque matplotlib pour visualiser le nombre de pixels de couleurs différentes dans l'image. Matplotlib est une bibliothèque de visualisation de données que nous pouvons utiliser pour dessiner des graphiques tels que des histogrammes et des diagrammes circulaires.
from PIL import Image import numpy as np import matplotlib.pyplot as plt # 打开图片文件 image = Image.open('image.jpg').convert('RGB') # 将图片转换为numpy数组 image_array = np.array(image) # 提取图片颜色 red_channel = image_array[:,:,0] green_channel = image_array[:,:,1] blue_channel = image_array[:,:,2] # 统计颜色信息 unique_colors, counts = np.unique(image_array.reshape(-1, 3), axis=0, return_counts=True) # 可视化颜色信息 colors = unique_colors / 255.0 plt.pie(counts, colors=colors) plt.show()
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!