【问题标题】:Return array of pixel values using Ruby and Mini Magick (or RMagick?)使用 Ruby 和 Mini Magick(或 RMagick?)返回像素值数组
【发布时间】:2011-08-22 19:14:04
【问题描述】:

我正在尝试使用 mini_magick 和 ruby​​ 来获取输入图像的所有像素值的数组。

我计划最终使用该阵列为其设计我自己的编解码器,这是为了家庭作业。

谁能协助检索这些值的数组的语法?或者建议我在必要时使用 mini_magick 以外的东西?

注意:我已经在我的计算机上安装了 ImageMagick。我正在运行 Mac OSX Lion。

更新: 因为用户要求我发布我已经拥有的代码(即使它不完全相关)

require 'rubygems'
require 'mini_magick'

path = "/Users/ardavis/Pictures/Atlantis/Andy_and_the_Shuttle.jpg"
image = MiniMagick::Image.new(path)

更新 2: 目前正在尝试使用 RMagick,正在查看 export_pixels 函数,但不确定它是如何使用的。 谢谢!

【问题讨论】:

  • 家庭作业问题的第一条规则:展示你已经拥有的东西
  • 好吧,这个问题并没有真正起作用。我知道怎么做作业。这是一个语法问题。我不想让任何人告诉我如何通过数组,如何压缩和解压缩,我要求使用 mini_magick(或其他建议的库)的语法来获取像素数据数组。
  • 我添加了我的代码。所以你看我有一个“形象”。我需要从图像中获取像素数据。全部放入一个多维数组中。想法?
  • RMagick 的 get_pixels 听起来像您正在寻找的东西,不过您必须重新排列数组。
  • @mu 太短,使用 get_pixels 并将数值存储到数组中的最佳方法是什么?我不需要它附带的所有文本。我需要能够对此进行迭代。

标签: ruby image-processing rmagick minimagick


【解决方案1】:

AFAIK,MiniMagick 只是包装了命令行工具,因此这可能不是处理单个像素的最佳选择。

RMagick 封装了 C 库,因此像素级的工作应该更容易和更快。 RMagick 中有get_pixels

获取图像内指定矩形的像素。

这会返回一个 Pixel 对象数组,您可以从那里获取原始 RGBA 数据并将数字缩放到适合您的任何范围。

【讨论】:

  • 非常感谢 mu,非常感谢您的帮助。我试图永远弄清楚 mini_magick 。 RMagick 肯定更有用:)
猜你喜欢
  • 2012-08-29
  • 2014-08-12
  • 1970-01-01
  • 1970-01-01
  • 2021-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-23
相关资源
最近更新 更多