我有大约10k个图像,我需要从每个图像中获取Hex颜色。我显然可以使用PS或其他工具手动执行此操作,但我正在寻找理想的解决方案:
有人可以建议一些可以拯救我理智的东西吗?干杯!
答案 0 :(得分:1)
我建议 ImageMagick 安装在大多数Linux发行版上,可用于OSX(通过homebrew
)和Windows。
所以,就在命令行,在一个充满JPG图像的目录中,你可以运行它:
convert *.jpg -gravity center -crop 1x1+0+0 -format "%f,%[fx:int(mean.r*255)],%[fx:int(mean.g*255)],%[fx:int(mean.b*255)]\n" info:
示例输出
a.png,127,0,128
b.jpg,127,0,129
b.png,255,0,0
备注:强>
如果目录中的文件数量超过了shell可以使用的文件,那么最好让 ImageMagick 在内部进行通配,而不是使用shell:
convert '*.jpg' ...
如果您的文件很大,最好在循环中一次一个地执行它们,而不是将它们全部加载到内存中:
for f in *.jpg; do convert "$f" ....... ; done