Détection de couleur d'image en utilisant python
Après le téléchargement d'une image à partir du site j'ai besoin de détecter la couleur de l'image téléchargée.J'ai réussi à télécharger l'image mais j'ai besoin de détecter la couleur de l'image correspondante et à l'enregistrer dans le nom de la couleur correspondante.Le Code est donné ci-dessous.Dites-moi comment puis-je l'obtenir à partir de la position actuelle.
imageurl='http://www.example.com/'
opener1 = urllib2.build_opener()
page1=opener1.open(imageurl)
my_picture=page1.read()
fout = open('images/tony'+image[s], "wb")
fout.write(my_picture)
fout.close()
source d'informationauteur user244470
Vous devez vous connecter pour publier un commentaire.
Utiliser un PIL (Python Bibliothèque d'Images) de l'histogramme. Boucle sur l'histogramme et de prendre la moyenne des pixels de couleur pondérée par le nombre de pixels.
Comme mentionné par d'autres, PIL est le droit de la bibliothèque. Voici une fonction qui ouvre une image et de regarder pour la couleur principale.
J'espère que cela aide
Mise à jour : en passant de 256 à getcolors est ok pour les très petites images, mais peut ne pas fonctionner dans la plupart des cas. Cette valeur doit être augmentée pour les images plus grandes. par exemple, 1024*1024 est ok pour 400 pixels * 300 pixels de l'image.
Vous devez utiliser PIL'Analyseur de la classe ImageFile de lire le fichier à partir de l'url. Alors la vie est assez facile parce que vous avez dit que l'ensemble de l'image est de la même couleur. Voici un code qui s'appuie sur votre code:
Cela devrait ajouter le rouge, le vert et le bleu les valeurs de la couleur du premier pixel de l'image à la fin du nom de l'image. J'ai testé le tout jusqu'à ce que la fout lignes.
Vous pouvez utiliser le PIL de la bibliothèque de l'Image module pour ce faire. Voir: http://effbot.org/imagingbook/image.htm.
Vous pourriez utiliser l'algorithme K-means pour obtenir les K couleurs principales de l'image. Voici un exemple de comment le faire: K-means à l'aide d'OpenCV (Python)