红宝石图像处理



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

为此,我使用魔术宝石。但是处理整个图像的速度非常慢。

这是我的代码,

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

任何人都可以为此给我解决方案吗?

图像对象上有一个名为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

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

最新更新