3. Point Operators

Consider two images \(f\) and \(g\) defined on the same domain. Then their pointwise addition is denoted as \(f+g\). Or consider a positive valued image \(f\) and the image \(\log(1+f)\) that we obtained by taking the logarithm of all pixel values in the image.

../../../_images/point_op.png

Fig. 3.1 Point Operator assigns a new value \(g(\v x)\) for each position \(\v x\) based only on the original value \(f(\v x)\) (in this example we have ‘inverted’ the image: \(g(\v x)=-f(\v x)\).

These two operations are examples of point operators. For every point (pixel) in the image we apply the same operator. More formally we may define. Let \(f:\set D\rightarrow \set R\) be a mapping from domain \(\set D\) to range \(\set R\). A point operator \(\Psi\) transforms image \(f\) into a new image \(g=\Psi f\) as:

\[\forall \v x\in \set D: \quad g(\v x) = \psi( f(\v x) ),\]

where \(\psi\) is a function working on values in the range of \(f\). Note that the range of \(\psi\) might different than its domain. In such cases the resulting image will have a new range. This is the case for instance when we convert a color image to a grayscale image.

Also note that the formal definition only considers the univariate case (i.e. one image in, and one image out). Point operators are not restricted to that type only, you could easily have operators that take many images as input and even those that produce more than one output image.

In this chapter we will consider image arithmetic (adding images, subtracting images etc) and histogram based point operations like stretching greyvalues to use the available range completely.