[Image-SIG] Yet another image processing library
jcupitt at gmail.com
jcupitt at gmail.com
Mon Jul 30 17:58:55 CEST 2007
I hope this is an appropriate place to mail this. Please flame away if not.
I help maintain an image processing library called VIPS. We've just
released a new stable version and one of the new features is a Python
binding.
http://www.vips.ecs.soton.ac.uk
The binding is a very simple one generated by SWIG from our C++ API,
so it's a bit rough, not well tested, and not very Python-esque. And
the new stable version of the library hasn't filtered into many linux
distros yet (Debian and ArchLinux are the only two so far I think), so
if you'd like to try it out, you'll probably have to compile from
source.
But it does have some interesting features (IMO):
1) It's demand-driven, so it needs very little memory to process even
very large images. I made a tiny benchmark and it needed only 20 MB of
RAM to load, crop, shrink sharpen and save a 10,000 by 10,000 pixel
RGB image.
2) VIPS speeds up on multi-CPU machines. Wall clock time for the
benchmark I made drops from about 12s to about 7s when I ask it to use
the second CPU on my PC. If you use the VIPS file format (rather than
the single-threaded TIFF library) scaling is more nearly linear: we've
seen a 27x speedup using 32 CPUs on a machine at Princeton.
Benchmarks and some notes here:
http://www.vips.ecs.soton.ac.uk/index.php?title=Python
John
More information about the Image-SIG
mailing list