identify -verbose
do Imagemagick fornece uma tabela de histogramas de paleta, mas somente se o número de cores exclusivas estiver abaixo de um limite (1024 nas versões que eu verifiquei, v6.x até v6.8.3 ).
Em vez disso, você pode apenas " convert
" da sua imagem para um histograma , essa saída não é limitada pelo número de cores exclusivas:
convert image.jpg -format %c -depth 8 histogram:info:histogram_image.txt
sort -n histogram_image.txt | tail -1
Classificar a saída numericamente pela primeira coluna classifica por frequência de cores de pixel. (Frequência de pixels coloridos específicos pode não corresponder a uma percepção humana de cor predominante, é claro).
Se você estiver reduzindo as cores, provavelmente poderá confiar apenas em convert
para fazer isso por você pelo seu escolha de pontilhamento e / ou posterização . Mesmo especificamente para o web-safe 216:
convert image.png +dither -remap netscape: image_websafe.png
Você provavelmente se aproximaria de uma cor predominante percebida por alguma combinação de desfoque, redimensionamento e posterização; esse não é um problema simples de definir e resolver:
- link
- link
Veja também o seguinte link para dcolors
, um script que usa o Imagemagick para determinar um conjunto de cores em uma imagem, usa incluir coordenar o esquema de cores da área de trabalho com a imagem da área de trabalho escolhida:
link