【发布时间】:2010-04-05 11:10:20
【问题描述】:
我想检查图像中存在哪些颜色。这将存储在数据库中并用于搜索表单。 (红色=1,绿色=1,蓝色=0,黄色=1,黑色=1,白色=1等)
img = Magick::Image.read('phosto-file.jpg').first
img = img.quantize(10
h = img.color_histogram
pp h
{red=12815, green=18494, blue=15439, opacity=0=>13007,
red=44662, green=47670, blue=51967, opacity=0=>18254,
red=17608, green=43331, blue=48321, opacity=0=>11597,
red=21105, green=25865, blue=39467, opacity=0=>10604,
red=15125, green=36629, blue=22824, opacity=0=>10223,
red=52102, green=42405, blue=10063, opacity=0=>12928,
red=39043, green=28726, blue=40855, opacity=0=>7728,
red=10410, green=8880, blue=7826, opacity=0=>13795,
red=25484, green=25337, blue=24235, opacity=0=>7351,
red=44485, green=12617, blue=11169, opacity=0=>14513}
如何将这 10 个值转换为颜色名称? red、green、NOMATCH、yellow、black、white 等。只需要粗略的颜色名称 - 不是 LimeGreen 而是 Green 等。
最好的问候。 阿斯比约恩·莫雷尔
【问题讨论】:
-
示例中的 ruby 代码无效:opacity=0=>13007 无效。
标签: ruby-on-rails ruby imagemagick