Вернуть массив значений пикселей, используя Ruby и Mini Magick (или RMagick?) - PullRequest
1 голос
/ 22 августа 2011

Я пытаюсь использовать 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, пока не зная, как она используется. Спасибо!

1 Ответ

2 голосов
/ 23 августа 2011

AFAIK, MiniMagick просто переносит инструменты командной строки, так что это, вероятно, не лучший выбор для работы с отдельными пикселями.

RMagick оборачивает библиотеки C, поэтому работа на уровне пикселей должна быть намного проще и быстрее. В RMagick есть get_pixels:

Получает пиксели из указанного прямоугольника на изображении.

Возвращает массив объектов Pixel , и оттуда вы можете получить необработанные данные RGBA и масштабировать числа до любых подходящих вам диапазонов.

...