Let’s summarise what we have learned in this lecture.
MATLAB supports a number of operations between matrices and scalars, and matrices and matrices. In the case of a matrix and a scalar, what happens is that the scalar is applied to every element of the input matrix and those results are placed into the corresponding elements of the output matrix.
The sorts of operators we can use between a matrix and a scalar include the standard arithmetic operators and they also include the logical operators, which preform logical comparisons, and which have a result which is either true of false.
When we perform an operation between a matrix and a matrix, the matrices need to be the same size and the operations are performed between corresponding elements of the matrix. Results are placed into the corresponding element of the output matrix.
MATLAB supports a number of logical operators. The results of logical operator are only true or false and we can perform a number of different logical tests: equality; non-equality; greater than; less than; and so on.
We have talked about monadic image processing and that is where individual pixels in the input image are parsed through a function f(x) and the result is placed into the corresponding element in the output matrix.
We apply the same function to all pixels and we looked at a number of operations such as contrast; enhancement; brightness change; histogram normalization; thresholding; posterization; and so on. And there are many, many, more.
The other class of operation we looked at what we called diadic operations and here we have two input images, parsed through a function and the output value is placed into the corresponding pixel in the output image. Some examples of diadic operations were image subtraction, which we used to find the difference between two input scenes. We also used the number of different diadic operations in performing quite a sophisticated image processing task, which is implementing the green screen effect.
Let’s recall the key techniques we’ve covered including monadic and dyadic image processing operations and efficient ways to write these in MATLAB using vectorization.
This content assumes an understanding of high school level mathematics; for example, trigonometry, algebra, calculus, physics (optics) and experience with MATLAB command line and programming, for example workspace, variables, arrays, types, functions and classes.