lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


2012/8/30 steve donovan <steve.j.donovan@gmail.com>:
> On Wed, Aug 29, 2012 at 7:09 PM, Dirk Laurie <dirk.laurie@gmail.com> wrote:
>> I don't mean bindings to a C library that forces you to think in C
>
> Amen to that!
>
> Image manipulation is such a big thing. Although if one had the
> kitchen-sink ImageMagick convert program around, it would be possible
> to write a nice wrapper that understood this tool and all its options.
>

The approach taken in Octave is: use Magick's library only to read and
write images, and keep them internally as matrices, using Gnuplot, XView
or whatever to render them.

It might be an idea to hook on to gsl-shell (Francesco Abbate's replacement
for the luajit interpreter offering some very convenient interfaces to the GSL).

gsl-shell has a luajit cdata type (from Gnu Subroutine Library) for a
matrix and
a userdata type (from Antigrain Geometry) for a vector graphics object.  It can
render and write vector graphics objects (SVG and bitmap) but not read them.

It should not be insuperably hard or tedious to add just the abilities
to read and
write pixel matrices via Magick and render them, plus the small number of
functions required to support image processing at the same functionality as
Octave.  Total size of module: about 20 functions.

It will be orders of magnitude more tedious (though not really harder)
to provide an interface to the image processing abilities of Magick or VXL
but that's not what I'm looking for.