I have recently received some emails from some newbies which asked me how to become an expert in Computer Vision(CV). As a matter of fact, I don’t know myself as a CV expert; hence, maybe I can’t show you the door (remember the Morpheus in the Matrix film :) .But as a self-taught software developer who does love this major, I have some proposals for you. Here it comes:
First : Start by the procedure that Robin Hewitt suggests: Getting started in computer vision. She is an independent software developer who is a prominent expert in relevant stuff. Do whatever she proposes !!!!
Second : Become familiar with Matlab and specially C/C++. I can argue more than one hour that you need both C and C++. I do love C , and I can extend CV algorithms with it; but in the industry you do need C++. In the real world applications , you need software engineering approaches beside of algorithms and therefore, you MUST develop softwares in OOP mode. You HAVE to learn it. It’s Compulsory !!
Third : Learn to develop softwares with Python. I don’t want to start to describe it. Just google it….. You will be a better hacker when you use it to develop raw algorithms.
Forth : Start to study Math every day. It’s like an exercise for your brain :) I’m not kidding !!
Fifth : “ Concentrate and NEVER give up!" Take this as a fundamental rule….
Cheers
UPDATE: You can use the python binding for OpenCV too .
Just " from opencv import *" and have a lot of FUN :)
3 comments:
so i never see the door , even you show me !
In my opinion, a person could get starting in Computer Vision just using python, though, for performance reasons, any production code would probably need to be written in C++.
I've used the python bindings to OpenCV quite extensively. Also PIL and SciPy are great tools! SciPy includes a lot of Matlab-like functions for python, so if you can't afford Matlab, it's a nice alternative.
And yes... the Math is important. Knowing your math will help greatly along the way!
Good Luck.
Thanks Brad,
I believe that python is great to implement a lot of Computer Vision projects too. But my concern is about the "industry". As far as I have seen (for example in job boards), having knowledge about C++ is mandatory. It's true; because as you know, we need real-time performance in some cases. Fortunately, python is getting faster and faster(by some improvements which is built by hackers). The projects like VisionEgg are quite promising :)
BTW, Do you have ever implement Face Recognition ( and not detection) with python binding to OpenCV ?? Does it have the same performance and speed in large scale databases?
Post a Comment