
Image Processing with scikit-image (2014) - kercker
http://blog.yhat.com/posts/image-processing-with-scikit-image.html
======
mbrundle
I do a lot of image processing algorithm development (e.g. building custom
segmentation algorithms). I started out using Matlab during my DPhil research
because (a) it came with very fully featured toolboxes, and (b) most other
researchers wrote their code in Matlab too.

Recently I've started making heavy use of Python at work. It's made
significant strides in terms of its image processing libraries. I haven't used
scikit-image much, but we routinely work with OpenCV at our office, because
its feature set is a great complement to Matlab's. However there still remains
a lot of really useful 3rd party code that's only accessible with Matlab.

Our current workflow, as a result, is to use Matlab and Python where necessary
(because different problems are more tractable with one or the other), and to
then stitch them together. This is a bit messy but doable. (I wrote a blog
post about it on my site if anyone needs to look into this.)

Bottom line - the Python libraries are fantastic for dabbling with image
processing, but for serious work, depending on what you're doing, you may
still need to get your hands dirty with Matlab for the time being. This is
unfortunate, because Python is free and Matlab is $$$. This will likely
continue until a large enough proportion of the academic image processing /
computer vision Matlab researcher userbase switches over to Python.

~~~
oliwaw
While Matlab still probably comes ahead in image processing, surely in
computer vision Python is on top? You mentioned academic research, isn't the
majority of modern object recognition, segmentation, etc. done with convnets?
Most popular convnet libraries are in Python.

~~~
chestervonwinch
> isn't the majority of modern object recognition, segmentation, etc. done
> with convnets?

Not at all. Big networks might be popular within particular groups, and they
have certainly achieved impressive results on a number of tasks recently, but
it's not the solution to every problem. There are a number of other approaches
- just browse over the number of subsections on image segmentation on wiki,
for example:

[https://en.wikipedia.org/wiki/Image_segmentation](https://en.wikipedia.org/wiki/Image_segmentation)

or, perhaps more appropriately, take a look at the methods used in recent
papers on image segementation:

[https://scholar.google.com/scholar?as_ylo=2016&q=%22image+se...](https://scholar.google.com/scholar?as_ylo=2016&q=%22image+segmentation%22&hl=en&as_sdt=0,10)

------
wodenokoto
I noticed he is using ggplot, which is the python attempt of implementing the
API of the ggplot2 R-package.

What is the status of ggplot on python? Is it ready to replace seaborn and
matplotlib?

[http://ggplot2.org](http://ggplot2.org)

~~~
jahewson
Python ggplot is just a wrapper around matplotlib, not a replacement.

------
matt42
Python and matlab are good for high level image processing but iterating over
the pixels with for loops is incredibly slow. To implement a low level
processing running in a reasonable amount of time, compiled languages like C
or C++, or even FPGA are much more adapted.

