Hey Alasdair,

I believe OpenCV might do the trick for you:
- it contains everything you seem to need (+ much much more);
- it is efficient;
- it is cross-platform;
- it has a usable python interface since version 2.4;
- it is not going away any time soon and is constantly improved;
- it has an active user base.

But (there is always a but), it also has some issues:
- (the main one for me) documentation is often incomplete or even sometimes cryptic: the website (http://docs.opencv.org/) is great, but, IIRC, the docstrings are automatically generated from the C++ prototypes using Boost.Python; some trial & error is often necessary to find out what the parameters of a function should be; - it may be overkill if you just want to do some basic image processing (maybe scikits-image is a better choice there?).

Hope this helps,

Adrien

Le 29/11/2012 07:53, Alasdair McAndrew a écrit :
I take your point that not being actively developed doesn't necessarily mean 
that the software is bad - but in general healthy software is continuously 
updated and expanded to meet the needs of its users, or to take advantage of 
new algorithms or hardware.

And in its current form PIL has a number of limitations: it doesn't allow 
linear filters of arbitrary size or shape, or non-linear filters (such as 
median filter) of arbitrary size. There doesn't seem to be built in support for 
standard imaging filters: Gaussian, Laplacian, LoG, edge detection, unsharp 
masking and so on.  It doesn't seem to have support for color space conversions 
(RGB, YIQ, HSV etc).  There don't seem to be standard edge detection routines 
(Laplacian of Gaussian, Canny, etc).  And so on.  Now maybe some of these can 
be found in other Python libraries, but I can't imagine I'm the only person who 
would ever want them in an imaging library.  Other libraries (scipy.ndimage, 
scikits-image) do go a long way to addressing my concerns.

Anyway, I was curious to know why PIL is lacking so much of what I would 
consider fairly fundamental imaging facilities, and why development seems to 
have stalled since 2009.

On Thursday, 29 November 2012 05:14:30 UTC+11, Michael Torrie  wrote:
On 11/28/2012 05:30 AM, Alasdair McAndrew wrote:

I'm investigating Python for image processing (having used Matlab,
then Octave for some years).  And I'm spoiled for choice: PIL and its
fork pillow, scipy.ndimage, scikits-image, mahotas, the Python
interface to openCV...
However, PIL doesn't seem to be in active development.  What I want
to know is - what are the current "standard" libraries for image
processing in Python which are in active development?
I have quite a few image processing student notes which I'm thinking
of converting to Python, but I'd like to use the most up-to-date
library.


I'm curious.  What features do you need that pil doesn't have?  Other

than updating pil to fix bugs, support new image types or new versions

of Python, what kind of active development do you think it needs to

have? Maybe pil has all the features the original author wanted and is

pretty stable.  To judge a package on how fast it's changing seems a bit

odd to me.  Obviously you want to know that bugs can get fixed of

course.  Perhaps none have been reported recently.

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to