View Single Post
  #8   Spotlight this post!  
Unread 04-01-2014, 15:52
yash101 yash101 is offline
Curiosity | I have too much of it!
AKA: null
no team
 
Join Date: Oct 2012
Rookie Year: 2012
Location: devnull
Posts: 1,191
yash101 is an unknown quantity at this point
Re: Best Way to Learn Vision Processing

Quote:
Originally Posted by RyanCahoon View Post
IMO, there are basically two ways to go about learning something. 1) you can pick a corner to start nibbling at and random-walk your way outward until you cobble together enough to solve the problem you're currently working on 2) you can go about trying to learn the big picture and theory of the entire subject, and then try to figure out how that applies to your current problem.

Jared and I gave you lists of topics to get started with also as a way to try to give you some direction about where to focus initially.

If you like (1), the 341 example code and OpenCV tutorial code is a great way to start. If you like (2), either pick up one of those books (if there's nothing available in the library, then perhaps a late nondenominational winter holiday present? or can you convince your team to buy it as a resource to you and future students?) or you can check out courses on Coursera or EdX - though be warned that these will probably quickly require a decent understanding of calculus and linear algebra.



If you're going with the (1) experimentation route, I'd suggest that you define a specific project to work on sooner or later. Find a brightly-colored object around your house and try to track that - e.g. tennis balls can work well (more-so if they're newer).



I'd recommend you steer away from C and C++ if you're not already very comfortable with them. Essentially, with great power comes great responsibility, and you'll want to be able to focus your efforts on working out the computer vision problems without making it even more complicated.

As Jared says, Python's more concise syntax will allow you to iterate faster than you would in Java. Java will probably have a little better performance, though if you're mostly just calling OpenCV functions and not trying to process the pixels yourself, this is much less of a concern. Go with whatever language is most comfortable for you.



The recent versions of the Windows prebuilt binaries have included the Java bindings in opencv\build\java. I haven't used it myself, but I believe you should be able to just include the .jar file in your classpath and the path to either the x86 or x64 .dll in the library path. Something like

Code:
java -Djava.library.path=C:\opencv\build\java\x64 -cp .;C:\opencv\build\java\opencv-247.jar MainClass
I believe 341 used JavaCV instead, which is another option.
I think I'll stick with C++ because I have a greater C knowledge than python or java. Also, it works on Windows with minimal configuration!