During the summer I am teaching a programming workshop for students in a high school computer science major. The purpose of the workshop is to introduce them to image processing, and to have them experience using it.Naturally, an image processing library is necessary (teaching in java, so probably JavaCV, though I might go for python and then just do openCV, but the question isn't about library choice). These libraries do calculations with relatively advanced mathematics. Things that are aren't taught in the school, nor anything close to the level of math they know (It requires knowledge of matrix multiplication and many other things). The students are at an advanced level in mathematics (calculus, algebra, vectors and a few other things). Should I teach the mathematics behind those computations, before teaching the image processing material? I think they can understand the math, if it is taught. Is that knowledge necessary to understanding how those libraries work?The image processing in question is feature extraction, edge detection etc. Examples of a mathematical background is how to write an algorithm to compute the determinant of a matrix, or one for matrix multiplication etc. 
Introducing image processing - Should I teach the math
curriculum design;high school;image processing
I would tread lightly here for a few reasons:The math is not strictly necessary.The students signed up for an image processing workshop in the context of programming.  The core skill that they expect to come out with is the ability to program graphics manipulations.  Spending a substantial portion of this time learning about the underlying math, certainly important in a full semester's undergraduate or graduate coursework, only moves very slowly towards what they (presumably think) they signed up for.Some kids get turned off by math.One of the unstated goals of every course is to both show the value of the field, and hope that the student wants to go on with the material and learn further.  That means that we want them to like it.  Using a voluntary summer workshop to emphasize the more abstract parts of the material may turn many of them away from graphical processing entirely.So, don't do any math then?Actually, I would not say that.  I would touch on a some of the underlying mathematics, but briefly, and (because it is a summer workshop) with the simple goal of illustrating that there is important material that isn't too difficult to tackle if they eventually want to go further into the topic.