0

我想逐像素处理图像,需要找到每个像素的 RGB 值。这是我的确切要求。

为此,我正在使用 rmagick gem。但是处理整个图像非常慢。

这是我的代码,

source = Magick::Image.read("http://sphotos-e.ak.fbcdn.net/hphotos-ak-ash3/s720x720/1000741_634750993209985_702651963_n.jpg")

source.rows.times do |row|
            source.columns.times do |col|

            end 
end

谁能给我解决这个问题?

4

1 回答 1

1

在您的图像对象上有一个名为 each_pixel 的方法。我想这可能是你想要的。最新版本的 RMagick 和一些旧版本也有

(Object) each_pixel

def each_pixel
  get_pixels(0, 0, columns, rows).each_with_index do |p, n|
    yield(p, n%columns, n/columns)
  end
  self
end

您可以在此处找到文档和其他方法

于 2013-09-27T14:56:02.797 回答