Maison  >  Article  >  développement back-end  >  Comment extraire la couleur des images à l'aide de Python

Comment extraire la couleur des images à l'aide de Python

王林
王林original
2023-08-18 14:28:432953parcourir

Comment extraire la couleur des images à laide 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.

  1. Importez les bibliothèques requises
    Tout d'abord, nous devons importer la bibliothèque PIL et la bibliothèque numpy. La bibliothèque PIL est l'abréviation de Python Imaging Library, qui fournit de riches fonctions de traitement d'image. Et la bibliothèque numpy est une bibliothèque de calcul scientifique, nous pouvons l'utiliser pour traiter des données d'image.
from PIL import Image
import numpy as np
  1. Ouvrez le fichier image
    Utilisez la fonction 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')
  1. 将图片转换为numpy数组
    通过调用PIL库中ImageToArray()
  2. image_array = np.array(image)
      Convertissez l'image en un tableau numpy
        Convertissez l'image en un tableau numpy en appelant la fonction ImageToArray() dans la bibliothèque PIL. Un tableau numpy est un objet tableau multidimensionnel qui peut facilement traiter et analyser des images.

      1. red_channel = image_array[:,:,0]
        green_channel = image_array[:,:,1]
        blue_channel = image_array[:,:,2]
      Extraire la couleur de l'image
        Nous pouvons extraire les informations de couleur de l'image grâce à l'opération d'indexation du tableau numpy. Supposons que nous voulions extraire les informations de couleur des canaux rouge, vert et bleu de l'image, nous pouvons le faire de la manière suivante :

      1. unique_colors, counts = np.unique(image_array.reshape(-1, 3), axis=0, return_counts=True)
      Informations statistiques sur la couleur
        En comptant les canaux de couleur extraits à l'étape précédente, nous peut obtenir le nombre de pixels de couleurs différentes dans l'image. Cela nous aide à comprendre la distribution globale des tons et des couleurs de l’image.

      1. import matplotlib.pyplot as plt
        
        colors = unique_colors / 255.0
        plt.pie(counts, colors=colors)
        plt.show()
      Visualisation des informations sur les couleurs

      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()

      Exemple de code :

      rrreee🎜Résumé : 🎜Cet article explique comment utiliser Python pour extraire la couleur des images et fournit des exemples de code correspondants. En effectuant une extraction des couleurs sur les images, nous pouvons acquérir une compréhension plus approfondie des informations de couleur de l’image et jeter les bases du traitement et de l’analyse ultérieurs de l’image. J'espère que cet article pourra être utile aux lecteurs. 🎜

    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!

    Déclaration:
    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