您可以通过以下命令从 ImageMagick 获取直方图格式的图像:
convert penguinsonice.bmp -format %c histogram:info:
以及为 Ruby 包装 ImageMagick 的 gem 'mini_magick' 的代码:
require "mini_magick"
module MiniMagick
class Image
def get_dominant_color
color = run_command("convert", path, "-format", "%c\n", "-colors", 1, "-depth", 8, "histogram:info:").split(' ');
# color = " 1764000: (208,195,161) #D0C3A1 srgb(208,195,161)\n\n"
{
hex: color[2],
rgb: color[1][1..-2].split(',')
}
end
end
end
i = MiniMagick::Image.open("/home/a.jpg")
p i.get_dominant_color()[:hex]
p i.get_dominant_color()[:rgb]