使用Ruby检测上传的图像是否“轻”

时间:2011-10-21 15:58:35

标签: ruby-on-rails ruby image paperclip

有没有人知道是否可以使用Ruby检测上传图像的“亮度”?我需要为那些太亮的图像添加边框,这样它们就不会流入浅色背景。

1 个答案:

答案 0 :(得分:3)

你可能最终会使用RMagick或类似的图像处理库。首先,您必须决定要测量的像素。你想要整个图像,在这种情况下,平均所有像素的颜色,然后将它与一些基线亮度进行比较是有意义的吗?这是一个例子:Is it possible to get the average image color with RMagick?或者你可以平均所有像素,比如边缘的五个像素。这将是一个非常类似的操作。

一旦你得到一个平均像素,你可以(在RMagick中)使用Pixel#to_hsla,它返回一个数组,其第三个值是HSL亮度,你可以将它与你为“光”选择的任何阈值进行比较。“