można zdefiniować "5 TOP Dominujące kolory", proszę? Myślę, że to nie jest tak proste, jak to brzmi ...
to jasno wynika z różnych wyników, które można zobaczyć podczas wizyty linki ty przewidzianych Embed.ly „s oraz Colour Złodziej interpretację twojego testowego obrazu.
Embed.ly
Oto co HTML.ly wymienia jako jego 5 wydobyte kolory (I spojrzał na kodzie źródłowym HTML strony, aby dowiedzieć się):
rgb(13, 28, 37)
rgb(44, 74, 94)
rgb(71, 112, 131)
rgb(105, 147, 163
rgb(198, 209, 216)
Korzystając ImageMagick aby utworzyć paletę kolorów z tych 5 kolorach:
convert \
-size 60x60 \
label:" Embed.ly" \
xc:"rgb(13, 28, 37)" \
xc:"rgb(105, 147, 163" \
xc:"rgb(71, 112, 131)" \
xc:"rgb(44, 74, 94)" \
xc:"rgb(198, 209, 216)" \
+append \
embedly-palette-from-testimage.jpg
Look w wyniku:
Colour Złodziej
Kolor nazwy Thief jednobarwne jako "dominującej" kolor:
rgb(21, 30, 38)
Kolor Złodziej wymienia także paletę 9 więcej kolorów (ponownie, wartości pobranych z kodu źródłowego HTML):
rgb(18, 27, 35)
rgb(100, 142, 164)
rgb(51, 84, 110)
rgb(32, 53, 74)
rgb(47, 46, 43)
rgb(83, 85, 76)
rgb(145, 143, 128)
rgb(106, 141, 140)
rgb(62, 84, 81)
Zastosowanie ImageMagick aby utworzyć paletę kolorów z palety kolorów 9 Colour złodzieja:
convert \
-size 60x60 \
label:" Color Thief" \
xc:"rgb(18, 27, 35)" \
xc:"rgb(100, 142, 164)" \
xc:"rgb(51, 84, 110)" \
xc:"rgb(32, 53, 74)" \
xc:"rgb(47, 46, 43)" \
xc:"rgb(83, 85, 76)" \
xc:"rgb(145, 143, 128)" \
xc:"rgb(106, 141, 140)" \
xc:"rgb(62, 84, 81)" \
+append \
ct-palette-from-testimage.jpg
spojrzeć na wynik:
Kolor Złodziej jest oparta na quantize.js
. Używa on średniego algorytmu wycinania dostarczonego przez quantize.js
w celu grupowania podobnych kolorów, a następnie zwraca podstawowy kolor z największego klastra jako "dominujący" kolor.
W jaki sposób określa, które kolory zwracać jako "kolory palety" można określić na podstawie kodu źródłowego, który jest hosted on Github.
ImageMagick za 5 kwantowane kolory
Twoje pytanie wymienia wyjście histogram ImageMagick po kwantyzacji obraz tylko 5 kolorach.
Te 5 kolorów, aby utworzyć kolejną paletę kolorów:
convert \
-size 60x60 \
label:" ImageMagick" \
xc:"srgb(19,28,35)" \
xc:"srgb(79,88,84)" \
xc:"srgb(44,77,103)" \
xc:"srgb(27,51,77)" \
xc:"srgb(84,126,150)" \
+append \
im-palette-from-testimage.jpg
spojrzeć na wynik:
Porównaj 3 palety kolorów
Użyj tego polecenia, aby utworzyć wizualne porównanie 3 palet kolorów:
convert \
ct-palette-from-testimage.jpg \
embedly-palette-from-testimage.jpg \
im-palette-from-testimage.jpg \
-append \
color-palettes.jpg
Wynik:
Jak widać wyraźnie, ani złodziej Kolor ani 5 kwantowane kolory z histogramem ImageMagick za zawierają raczej jasny 5th kolor zwrócony przez Embed.ly.
Porównaj ponownie do testu obrazu:
„Czy lepiej korzystać z większej palety kolorów, a potem po prostu wybrać do góry N kolory?”
Dlaczego nie przetestujesz tego i nie dowiesz się?
+1 Świetna odpowiedź, Kurt - dobrze zbadane i dobrze wyjaśnione. –
Od tego czasu próbowałem tego przy użyciu zmodyfikowanej kwantyzacji średniej mediany (MMCQ) i uzyskuję wyniki znacznie bliżej wartości usługi embedly. Zgodnie z [białą księgą] (http://www.leptonica.com/papers/mediancut.pdf) daje to lepsze wyniki dla obrazów o bardzo widocznych, ale słabo zaludnionych kolorach. –
Nie sądzę, że mówienie komuś, żeby coś przetestować i "znaleźć się" jest naprawdę odpowiednie dla strony z pytaniami i odpowiedziami. – Skrylar