Ruby on rails 如何获得红宝石中4种颜色的平均值?
我使用RMagick使用以下代码从图像中获得4种颜色:Ruby on rails 如何获得红宝石中4种颜色的平均值?,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.1,rmagick,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.1,Rmagick,我使用RMagick使用以下代码从图像中获得4种颜色: color1 = img.pixel_color(1,1) color2 = img.pixel_color(50,1) color3 = img.pixel_color(1,50) color4 = img.pixel_color(50,50) 如何计算这4种颜色的平均值?类似的方法应该可以: colors = [color1, color2, color3, color4] avg = Pixel.new colors.collect
color1 = img.pixel_color(1,1)
color2 = img.pixel_color(50,1)
color3 = img.pixel_color(1,50)
color4 = img.pixel_color(50,50)
如何计算这4种颜色的平均值?类似的方法应该可以:
colors = [color1, color2, color3, color4]
avg = Pixel.new colors.collect(&:red).inject(:+)/colors.size,
colors.collect(&:green).inject(:+)/colors.size,
colors.collect(&:blue).inject(:+)/colors.size
像这样的方法应该会奏效:
colors = [color1, color2, color3, color4]
avg = Pixel.new colors.collect(&:red).inject(:+)/colors.size,
colors.collect(&:green).inject(:+)/colors.size,
colors.collect(&:blue).inject(:+)/colors.size
对于这类事情,HSV或HSL可能比RGB更好。对于这类事情,HSV或HSL可能比RGB更好。