At JavaZone this year, I gave the talk “Computer Vision for mobile Java developers”. Here, I live code finding conference badges in a picture. The coding is iterative and interactive and I use it to illustrate Haar cascades, Canny edge detection, Otsu thresholding, contour detection; and erosion, dilation, and contour analysis.
In my experience, developing a good algorithm with OpenCV is about setting up yourself for feedback. I read an example image, add one and one processing step to it and display the results as I work. This both works well as a development technique and is a good framework to explain what’s going on.
If you’re looking for an entertaining and practical explanation of OpenCV image processing, this talk covers a lot of ground.