Hi all, I hope no one minds me mailing this.

I help maintain vips, a free image processing library, and we've just
released a new version, vips8. This new version has a much better
Python interface. It supports python2 and python3, and it works on any
Unix, OS X and Windows. It comes with a large test-suite, written in
Python, which it passes with no memory leaks.

The speed and memory use varies with the operations you are performing
but typically it's 5x faster than PIL or Pillow and only needs 1/10th
of the memory. There's a benchmark here:

  http://www.vips.ecs.soton.ac.uk/index.php?title=Speed_and_Memory_Use

with some sample source code. On that test at least, vips is even
quicker than OpenCV.

vips is interesting because it's a demand-driven library. Most image
processing systems load up the input image, perform a series of
operations one after the other, then write the result back to disk.
This is simple, but can use huge amounts of memory if the images are
large.

Instead, vips breaks the image into small chunks and streams it
through your system. All operations are active at the same time,
including the load and save operations, and no more of the image is
kept in memory than is needed for computation. It runs a separate
pipeline of operations for each core in your computer, so threading is
efficient.

This page introduces the Python interface:

  http://www.vips.ecs.soton.ac.uk/index.php?title=Python

And this chapter in the manual goes into more detail:

  
http://www.vips.ecs.soton.ac.uk/supported/current/doc/html/libvips/using-from-python.html

John
_______________________________________________
Image-SIG maillist  -  Image-SIG@python.org
https://mail.python.org/mailman/listinfo/image-sig

Reply via email to