Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何获得红宝石中4种颜色的平均值?_Ruby On Rails_Ruby_Ruby On Rails 3_Ruby On Rails 3.1_Rmagick - Fatal编程技术网

Ruby on rails 如何获得红宝石中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

我使用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(&: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更好。