Je veux obtenir la couleur la plus importante d'une image, et la langue peut être soit en python ou le rubis.reconnaissance des couleurs de l'image, la couleur générale
Est-ce facile à faire?
Je veux obtenir la couleur la plus importante d'une image, et la langue peut être soit en python ou le rubis.reconnaissance des couleurs de l'image, la couleur générale
Est-ce facile à faire?
Je ne sais pas si cela est ce que vous voulez dire, mais ce sera peut-être utile:
require 'rubygems'
require 'RMagick'
include Magick
image = Image.read("stack.png")[0]
hash = image.color_histogram
color, number = hash.max{|a,b| a[1] <=> b[1]}
puts color.to_color
Cela a fonctionné comme un charme pour l'image très simple (seulement 5 couleurs), mais devrait travailler plus des images complexes aussi (je n'ai pas testé cela, le hash retourné sera assez grand dans ce cas, donc vous pouvez utiliser quantize sur votre image avant d'utiliser color_histogram).
Quelques ressources:
J'espère que cela vous a été utile. :)
Je ne sais pas si cela est ce que vous voulez dire, mais le Python PIL a des fonctions im.histogram() et im.getcolors(). http://effbot.org/imagingbook/image.htm
OK. Laissez-moi vous présenter la bibliothèque de Ruby.
En utilisant Camélia, http://camellia.sourceforge.net/examples.html, vous pouvez étiqueter la zone avec la couleur la plus importante.
Oui .. Non .. Peut-être .... – Shoban
Vous devez fournir plus de détails: ce qui est une « couleur de premier plan »? Cherchez-vous une catégorie générale ("red-ish"), ou une valeur exacte ('rgba (243,32,17)')? Qu'en est-il des pixels qui sont très similaires en termes de valeur de couleur ou de teinte? – Phrogz