Ric*_*ard 4 colors imagemagick images image-processing
是否可以从命令行获取图像中的主要颜色?理想情况下,我希望它以十六进制或 RGB 形式返回。
我认为可以使用imagemagick 的识别命令来做到这一点,但我在文档中看不到这样做的选项。
mr.*_*tic 11
Imagemagickidentify -verbose提供了一个调色板直方图表,但前提是唯一颜色的数量低于限制(在我检查过的版本中为 1024,v6.x 到 v6.8.3)。
相反,您可以convert将您的图像“ ”转换为直方图,此输出不受唯一颜色数量的限制:
convert image.jpg -format %c -depth 8 histogram:info:histogram_image.txt
sort -n histogram_image.txt | tail -1
Run Code Online (Sandbox Code Playgroud)
按第一列对输出进行数字排序,按像素颜色的频率排序。(当然,特定颜色像素的频率可能与人类对主要颜色的感知不符。)
如果您正在减少颜色,您可能可以相信通过选择抖动和/或海报化convert来为您做这件事。甚至专门针对网络安全 216:
convert image.png +dither -remap netscape: image_websafe.png
Run Code Online (Sandbox Code Playgroud)
通过模糊、调整大小和分色的某种组合,您可能会更接近感知的主要颜色,这不是一个定义和解决的简单问题:
另请参阅以下链接dcolors,该脚本使用 Imagemagick 确定图像中的一组主要颜色,用途包括将您的桌面配色方案与您选择的桌面图像进行协调:http :
//javier.io/blog/en/2015/ 09/30/using-imagemagick-and-kmeans-to-find-dominant-colors-in-images.html
小智 7
我在这里找到了这个优雅而简短的答案http://blog.endpoint.com/2011/04/determining-dominant-image-color.html
$ convert Waffle.jpg -scale 1x1\! -format '%[pixel:u]' info:-
rgb(219,166,94)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12638 次 |
| 最近记录: |