In the last lecture we learned how to import a digital image into a computer and we learned that an image inside a computer is just a big bunch of numbers. More precisely it's a rectangular array of numbers which we can consider to be a matrix. Now getting the image into the computer is just the first step. We need to manipulate this image in various ways so that we can extract the information from that image which is sufficient to hand across to a robot to allow it to do its job. So in this lecture and the next one, we're going to learn about some fundamental ways to transform images so as to help us in the process of extracting meaning.
These techniques fall into a category which is called image processing, which is how we take one image and transform it into a different image which helps us in our task of extracting that meaning. So the sorts of transformations that we would be interested in considering are; how do we enhance the contrast of an image? How do we reduce the resolution of an image? How do we highlight horizontal lines in an image or how do we highlight vertical lines in an image? Or how do we highlight things that are red or that are green or that are blue. So these are some fundamental techniques that will help us in our journey of equipping robots with vision.
Once a digital image exists as a matrix in the MATLAB workspace we can manipulate it to extract information that a robot could use. We will discuss some fundamental algorithms that operate on single images.
High school mathematics
This content assumes an understanding of high school-level mathematics, e.g. trigonometry, algebra, calculus, physics (optics) and some knowledge/experience of programming (any language).