

OpenCV vs. Matlab vs. SimpleCV - kscottz
http://simplecv.tumblr.com/post/19307835766/opencv-vs-matlab-vs-simplecv

======
ahelwer
Before this post inspires people to go on a crazy I-can-do-computer-vision-
the-hard-way binge and impulse-buy O'Reilly's (excellent) "Learning OpenCV",
the second edition is being released sometime this month so you may want to
hold off:

<http://shop.oreilly.com/product/0636920022497.do>

~~~
dfc
Are you affiliated with the book/authors?

~~~
ahelwer
Negatory.

~~~
dfc
I did not mean to be hostile. I was just curious about the relationship if
any...

~~~
ahelwer
That's okay :) It is a valid concern. I picked up the original during the
Dennis Ritchie memorial sale and found it to be worth the time/money.

------
dfc
I know this is going to put me in the minority but the download iconset for
simplecv (OSX/Windows/ _Ubuntu_ ) is one of my biggest pet peeves. The worst
offenders will use the Ubuntu logo to lead to a generic linux page. Its
slightly less annoying that clicking the ubuntu link leads to downloading a
_Debian package file._

~~~
nl
_Its slightly less annoying that clicking the ubuntu link leads to downloading
a Debian package file_

If it shouldn't lead to a .deb file what should it lead to? I take the Ubuntu
logo to mean they tested it on Ubuntu.

------
cop359
Naturally because it's on "simplecv.tumblr.com" this is pretty biased.

But some glaring omissions

1) You can compile Matlab to C++ code which is much faster.

2) With respect to Portability there is the glaring omission of Octave (nor to
mention there is MATLAB for unix systems). (I guess that also counts for the
price issue). I'm not a MATLAB guru, but in the couple of times I've used it,
it seems like MATLAB minus the handy dandy documentation and IDE.

3) Debugging in Matlab's ID is so easy a 5 year old can do it. The variables
are all there; you can double click on any to see their contents. Debugging in
a shell in my experience is a much bigger PITA.

4) I didn't look at their documentation, but I honest really doubt it's better
then MATLAB's. I've never seen documentation so well written in an open source
project.

~~~
hogu
Is compiled matlab code much faster? when I did it in the past it wasn't, My
understanding was that it's doing the same thing, just without parsing the
matlab source code, which isn't that slow anyways. Similarly, compiling python
to C using cython by itself, is not faster - Compiling code to native machine
code by itself doesn't do anything, unless you do something different, like
declare the types, or unroll loops, etc.. The overhead of scripting languages
is generally in the dynamism, unless you optimize that out in the compile
step, you won't get speedups.

there are nice debugging environments for python, look at any python IDE, or
look at spyder for this sort of work.

python plugs into general purpose tools much better - this is one of the main
reasons I gave up matlab for python after using matlab for 10 years in school,
all the way through into my PhD thesis.

------
arrogantrobot
<http://blog.fixational.com/post/19177752599/opencv-vs-matlab>

...just in case you also couldn't click or copy the link from the article

~~~
jjwiseman
Yeah, he has an empty div positioned over the first part of the post that eats
clicks.

~~~
ronomal
Thanks for pointing this out. As authors of the original post we'd like to see
this fixed.

------
atlasom
Great post, I've been looking to work with CV and was plannin g on using
OpenCV with a python interface, but after your post I think I'll start with
SimpleCV. as you said if the only limitation is speed, then I can port it to
pure C for OpenCV.

You might want to change the videos on the Demos page as youtube is saying the
uploader has closed their account.

Now its time to experiment

------
pimentel
Since I learned about openCV (and python), I don't get why people still use
MATLAB for computer vision.

I believe MATLAB is probably very useful for control systems (with Simulink)
or signal processing or any very special case for which there is a unique
MATLAB toolbox.

Why is it still so much used in universities? Does Numpy/Scipy cover MATLAB
scientific/numerical computing?

~~~
Mavrik
Universities usually don't use "turnkey" solutions, because the point is to
actually implement algorithms, that are hidden behind Simple/OpenCV method
calls. Matlab, being a very fast numeric platform, most CS students know, is
perfect for that purpose.

The algorithms we implemented in CV classes on the University were pretty
performance sensitive - enough that running them in Octave instead of Matlab
made them run for 15min+. Python with NumPy was much worse.

------
gourneau
I up voted this before I noticed the author linked to one of my projects
<http://labs.radiantmachines.com/beard/>. A neckbeard detector in 25 lines of
Python :)

------
tomrod
How does it compare to open-source Matlab alternatives such as Gnu/Octave?

------
ronomal
Thanks for expanding on our original post. I've been meaning to give SimpleCV
a spin for a while, we're big Python fans in Fixational. What's the best way
to contribute?

~~~
dfc
_Best way to contribute?_ Was this a serious question? I'm not affiliated with
simplecv but if I had to guess I would say:

<https://github.com/ingenuitas/SimpleCV>

~~~
sparky
A more charitable interpretation is "What do you guys need the most help
with?" In that respect, the Github page is not immediately helpful.

~~~
kscottz
We're in the process of moving our outstanding tickets from SourceForge to
github. The list of tickets is here:
<http://sourceforge.net/p/simplecv/tickets/>

We will probably complete the move after the next release. If you are
interested in helping I can suggest a lot of smaller projects. We always
willing to take on outstanding short demos too.

------
mgallivan
Matlab's 3D rendering speeds are disgustingly slow...

