Czy możliwe jest uzyskanie dominującego koloru na obrazie z linii poleceń? Idealnie chciałbym, żeby był z powrotem jako hex lub RGB.
Myślałem, że można to zrobić za pomocą polecenie identyfikacji imagemagick , ale nie widziałem opcji, aby to zrobić w dokumentacji.
images
colors
imagemagick
image-processing
Richard
źródło
źródło
Odpowiedzi:
Imagemagick's
identify -verbose
zapewnia tabelę histogramów palet, ale tylko jeśli liczba unikalnych kolorów jest poniżej limitu (1024 w sprawdzonych wersjach, v6.x do v6.8.3).Zamiast tego możesz po prostu
convert
" Twój obraz do histogramu , ten wynik nie jest ograniczony liczbą unikalnych kolorów:Sortowanie wyników numerycznie przez pierwszą kolumnę sortuje według częstotliwości kolorów pikseli. (Częstotliwość określonych kolorowych pikseli może oczywiście nie odpowiadać ludzkiemu postrzeganiu dominującego koloru.)
Jeśli redukujesz kolory, możesz po prostu zaufać
convert
do zrobić to dla Ciebie według twojego wyboru dithering i / lub posteryzujący . Nawet specjalnie dla web-safe 216:Prawdopodobnie zbliżyłbyś się do postrzeganego dominującego koloru poprzez połączenie rozmycia, zmiany rozmiaru i posteryzowania. Nie jest to prosty problem do zdefiniowania i rozwiązania:
Zobacz także poniższy link do
dcolors
, skrypt, który używa Imagemagick do określenia zestawu dominującego zabarwienie w obrazie wykorzystuje koordynację schematu kolorów pulpitu z wybranym obrazem pulpitu: http://javier.io/blog/en/2015/09/30/using-imagemagick-and-kmeans-to-find-dominant-colors-in-images.htmlźródło
convert
zrobić to dla ciebie, dodając-remap netscape:
po-depth 8
w pierwszym poleceniu powyżej.Znalazłem tę elegancką i krótką odpowiedź tutaj http://blog.endpoint.com/2011/04/determining-dominant-image-color.html
źródło