
"This library is useful for practitioners, and is an excellent tool for those entering the field: it is a set of computer vision algorithms that work as advertised." -William T. Freeman, Computer Science and Artificial Intelligence Laboratory, Massachusetts Institute of Technology Learning OpenCV puts you in the middle of the rapidly expanding field of computer vision. Written by the creators of the free open source OpenCV library, this book introduces you to computer vision and demonstrates how you can quickly build applications that enable computers to "see" and make decisions based on that data. Computer vision is everywhere-in security systems, manufacturing inspection systems, medical image analysis, Unmanned Aerial Vehicles, and more. It stitches Google maps and Google Earth together, checks the pixels on LCD screens, and makes sure the stitches in your shirt are sewn properly. OpenCV provides an easy-to-use computer vision framework and a comprehensive library with more than 500 functions that can run vision code in real time. Learning OpenCV will teach any developer or hobbyist to use the framework quickly with the help of hands-on exercises in each chapter.
There's also https://www.pyimagesearch.com/ which is great. It's ultimately a hook to get you to buy the course, and I think the teaching style may put off some people, but everything is thorouhgly explained and there's a lot of cool mini projects.
I started from wanting to develop AR apps during my undergrad, Here are the best resources I have found to date:
Computer Vision is very theoretical and experimental, so the more hands on, the better! My approach has been to go top-down, overview the landscape and slowly progress deeper.
Begin with the best library for CV in my opinion: OpenCV. The tutorials are amazing!
Python tutorials: http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_tutorial...
C++ tutorials: http://docs.opencv.org/3.0-beta/doc/tutorials/tutorials.html
Immerse yourself in these and build any apps you think of!
Then go into: pyimagesearch tutorials http://www.pyimagesearch.com/ and aishack.in http://aishack.in/,
tons of great tutorials to learn different topics of vision with coding walkthroughs. Understand the examples and rewrite applications.
Then Dive Deep:
Get the new OpenCV3 book, a nice deep overview of many topics in computer vision. https://www.amazon.com/Learning-OpenCV-Computer-Vision-Libra...
And watch this course on youtube:
https://www.youtube.com/watch?v=skaQfPQFSyY&list=PL4B3F8D4A5...
I feel like then, you will have so much exposure that when you dive into formal classes and textbooks, you will really understand and be enlightened.
This was the general way I learned computer vision, and recently I completed a cv internship for nanit.com . I was not hired for my formal knowledge, but they were impressed by all the various projects ive done and knowledge I had on many vision topics.
I also recently took a formal course of vision at Cornell: http://www.cs.cornell.edu/courses/cs5670/2017sp/
All the assignments have starter code in python and opencv. This was an amazing class as it dove deep into 3D computer vision, which is so relevant to augmented reality!
Also, here is a link opencv examples for iOS: https://github.com/Itseez/opencv_for_ios_book_samples
here are links for opencv example for Android: https://web.stanford.edu/class/ee368/Android/
Hope this helps! Shoot me a dm if you or anyone has more questions!
If you develop a taste for CV theory and math, then I suggest Richard Szeliski's [2] book. It's very readable.
Neither book covers any of the latest deep learning stuff. You have to look elsewhere for that.
Don't forget scikit-image and scipy.ndimage too.