Path: csiph.com!usenet.pasdenom.info!news.albasani.net!newsfeed.freenet.ag!news2.euro.net!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'python,': 0.02; 'base.': 0.05; 'conversions': 0.07; 'linear': 0.07; 'pil': 0.07; 'prototypes': 0.07; 'users,': 0.07; 'python': 0.09; 'docstrings': 0.09; 'etc).': 0.09; 'fork': 0.09; 'libraries.': 0.09; 'stable.': 0.09; 'to:addr:comp.lang.python': 0.09; 'cc:addr:python-list': 0.10; 'looked': 0.10; 'up-to-date': 0.13; 'url:)': 0.13; '(the': 0.15; 'student': 0.15; '(there': 0.16; '(well,': 0.16; 'bugs,': 0.16; 'combinations': 0.16; 'curious.': 0.16; 'dct': 0.16; 'development?': 0.16; 'hardware.': 0.16; 'incomplete': 0.16; 'recently.': 0.16; 'shape,': 0.16; '\xe9crit': 0.16; 'wrote:': 0.17; 'fix': 0.17; 'expanded': 0.17; 'odd': 0.17; 'thanks,': 0.18; 'obviously': 0.18; '>>>': 0.18; 'versions': 0.20; 'parameters': 0.20; 'bit': 0.21; 'fairly': 0.21; 'hey': 0.21; 'libraries': 0.22; "i'd": 0.22; 'cc:2**0': 0.23; 'seems': 0.23; 'cc:no real name:2**0': 0.24; 'cc:addr:python.org': 0.25; 'header:In-Reply- To:1': 0.25; 'header:User-Agent:1': 0.26; 'am,': 0.27; 'bugs': 0.27; 'updating': 0.27; '(such': 0.27; 'c++': 0.27; 'converting': 0.27; 'library.': 0.27; 'interface': 0.27; "doesn't": 0.28; 'fixed': 0.28; '(maybe': 0.29; 'subject:development': 0.29; 'usable': 0.29; 'probably': 0.29; "i'm": 0.29; 'maybe': 0.29; 'actively': 0.30; 'notes': 0.30; 'thursday,': 0.30; 'basic': 0.30; 'function': 0.30; 'error': 0.30; 'point': 0.31; 'curious': 0.33; 'version': 0.34; "can't": 0.34; 'received:google.com': 0.34; 'updated': 0.34; 'thanks': 0.34; '2009.': 0.35; 'offered': 0.35; 'sometimes': 0.35; 'subject:?': 0.35; 'received:209.85': 0.35; 'there': 0.35; 'michael': 0.36; 'but': 0.36; 'wanted': 0.36; 'url:org': 0.36; 'development.': 0.36; 'should': 0.36; 'author': 0.37; 'bad': 0.37; 'reported': 0.37; 'does': 0.37; 'being': 0.37; 'why': 0.37; 'quite': 0.37; 'received:209': 0.37; 'subject:: ': 0.38; 'fact': 0.38; 'mean': 0.38; 'some': 0.38; 'url:docs': 0.38; 'received:209.85.214': 0.39; 'space': 0.39; 'think': 0.40; 'your': 0.60; 'most': 0.61; 'kind': 0.61; 'developed': 0.62; 'course.': 0.62; 'necessarily': 0.63; 'ever': 0.63; 'believe': 0.69; 'color': 0.69; 'soon': 0.70; 'you:': 0.75; 'trial': 0.81; 'etc),': 0.84; 'have?': 0.84; 'issues:': 0.84; 'median': 0.84; 'received:209.85.214.184': 0.84; 'received:mail- ob0-f184.google.com': 0.84; 'routines': 0.84; 'spoiled': 0.84; 'provide,': 0.91; 'imagine': 0.96 Newsgroups: comp.lang.python Date: Thu, 29 Nov 2012 03:22:46 -0800 (PST) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=118.209.114.1; posting-account=rmvejQoAAADjh7_64M16SLF-fqObIbgV References: User-Agent: G2/1.0 X-Google-Web-Client: true X-Google-IP: 118.209.114.1 MIME-Version: 1.0 Subject: Re: Imaging libraries in active development? From: Alasdair McAndrew To: comp.lang.python@googlegroups.com Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: python-list@python.org X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Message-ID: Lines: 145 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1354188169 news.xs4all.nl 6944 [2001:888:2000:d::a6]:38958 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:34062 Thanks for the heads-up about OpenCV. I have in fact briefly looked at Ope= nCV (well, the documentation), and it does seem remarkably complete. And w= hat it doesn't provide, such as image transforms (FFT, DCT etc), are offere= d elsewhere by other Python libraries. Probably the combinations of OpenCV, Scipy.ndimage and scikits-image would = cover pretty much all of my needs. Thanks, Alasdair=20 > Hey Alasdair, >=20 >=20 >=20 > I believe OpenCV might do the trick for you: >=20 > - it contains everything you seem to need (+ much much more); >=20 > - it is efficient; >=20 > - it is cross-platform; >=20 > - it has a usable python interface since version 2.4; >=20 > - it is not going away any time soon and is constantly improved; >=20 > - it has an active user base. >=20 >=20 >=20 > But (there is always a but), it also has some issues: >=20 > - (the main one for me) documentation is often incomplete or even=20 >=20 > sometimes cryptic: the website (http://docs.opencv.org/) is great, but,= =20 >=20 > IIRC, the docstrings are automatically generated from the C++ prototypes= =20 >=20 > using Boost.Python; some trial & error is often necessary to find out=20 >=20 > what the parameters of a function should be; >=20 > - it may be overkill if you just want to do some basic image processing= =20 >=20 > (maybe scikits-image is a better choice there?). >=20 >=20 >=20 > Hope this helps, >=20 >=20 >=20 > Adrien >=20 >=20 >=20 > Le 29/11/2012 07:53, Alasdair McAndrew a =E9crit : >=20 > > I take your point that not being actively developed doesn't necessarily= mean that the software is bad - but in general healthy software is continu= ously updated and expanded to meet the needs of its users, or to take advan= tage of new algorithms or hardware. >=20 > > >=20 > > And in its current form PIL has a number of limitations: it doesn't all= ow linear filters of arbitrary size or shape, or non-linear filters (such a= s median filter) of arbitrary size. There doesn't seem to be built in suppo= rt 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 det= ection 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. >=20 > > >=20 > > Anyway, I was curious to know why PIL is lacking so much of what I woul= d consider fairly fundamental imaging facilities, and why development seems= to have stalled since 2009. >=20 > > >=20 > > On Thursday, 29 November 2012 05:14:30 UTC+11, Michael Torrie wrote: >=20 > >> On 11/28/2012 05:30 AM, Alasdair McAndrew wrote: >=20 > >> >=20 > >>> I'm investigating Python for image processing (having used Matlab, >=20 > >>> then Octave for some years). And I'm spoiled for choice: PIL and its >=20 > >>> fork pillow, scipy.ndimage, scikits-image, mahotas, the Python >=20 > >>> interface to openCV... >=20 > >>> However, PIL doesn't seem to be in active development. What I want >=20 > >>> to know is - what are the current "standard" libraries for image >=20 > >>> processing in Python which are in active development? >=20 > >>> I have quite a few image processing student notes which I'm thinking >=20 > >>> of converting to Python, but I'd like to use the most up-to-date >=20 > >>> library. >=20 > >> >=20 > >> >=20 > >> I'm curious. What features do you need that pil doesn't have? Other >=20 > >> >=20 > >> than updating pil to fix bugs, support new image types or new versions >=20 > >> >=20 > >> of Python, what kind of active development do you think it needs to >=20 > >> >=20 > >> have? Maybe pil has all the features the original author wanted and is >=20 > >> >=20 > >> pretty stable. To judge a package on how fast it's changing seems a b= it >=20 > >> >=20 > >> odd to me. Obviously you want to know that bugs can get fixed of >=20 > >> >=20 > >> course. Perhaps none have been reported recently.