我希望identify -verbose myImage.jpg
以十六进制格式输出所有颜色值。
我发现this answer,但它仅适用于单一颜色;例如:
$ identify -verbose -format '%[hex:u]\n' myImage.jpg
F9CBA9
相比未指定格式:
$ identify -verbose myImage.jpg
Image: /home/rena/img/myImage.jpg
Format: JPEG (Joint Photographic Experts Group JFIF format)
Mime type: image/jpeg
Class: DirectClass
[...lots more info here...]
Background color: white
Border color: srgb(223,223,223)
[...]
Version: ImageMagick 7.0.9-5 Q16 x86_64 2019-11-18 https://imagemagick.org
我想要的是后者的输出,除了列出以十六进制列出的颜色的属性外,例如“ #FFFFFF”和“ #DFDFDF”而不是“ white”和“ srgb(223,223,223)”。
您可以使用txt:
协议以文本格式写入所有像素信息,并将结果通过管道传输到cut
实用程序。
magick myImage.jpg txt:- | cut -d ' ' -f 4
您还可以使用uniq
删除重复的十六进制颜色条目。
magick myImage.jpg txt:- | cut -d ' ' -f 4 | uniq