To share some material that I , along with much assistance from our center's technology chief advisor, wrote up something quick for my students past 2017 summer (please excuse some typos) :
* familiarize themselves with python : https://www.stormingrobots.com/prod/tutorial/C2Python.pdf.
* learning opencv basics ...https://www.stormingrobots.com/prod/Staff/pi2/studentPacket.pdf
(This still needs revision and editing work. I shall most likely revise further in the coming 2018 summer. Feedback is welcomed.)
I hope you will find them useful. The docs listed above were written for my 8 students who have good level of algorithmic programming skill in C learning python in order to play with Opencv. In 3 days of 5 hours workshop, they managed to learn python, basic image processing using OpenCV. They managed to completed the following exercises:
- tally coins
- recognize colored objects
- play a simple orange ball chasing game.
About online learning materials:
There are very rich online learning materials, which are often referenced in the documents I mentioned earlier.
One comment about doing image processing with plain C/C++ instead of Python: If you already have good understanding in data structure including memory pointers, function pointers, etc., learning from the online opencv document will be far much easier. If not, it will be far better to stick with Python. Besides, in opencv, much is about the numpy and using tuples. So, if your students will learn python, they need to put much focuses on tuples data structure.
Why bother with python if you know C/C++ already?
Well, if your intent is to do lot more with raspberry pi, learning python will be helpful as I have noticed the devices which work on PI usually provide only python library. Well, if students already have good programming skill, and understanding in data structure, building library of functions, understanding portability, etc. , they can also port their python library over, BUT that can be quite time consuming. It is a great learning experience in itself. After that, they will feel like a mini-professional .
Now, I found that you could embed python with C++ projects, and vice versa too. This can be an avenue your student may want to explore.