Scanning an image with neighbor access
In image processing, it is common to have a processing function that computes a value at each pixel location based on the value of the neighboring pixels. When this neighborhood includes pixels of the previous and next lines, you then need to simultaneously scan several lines of the image. This recipe shows you how to do it.
Getting ready
To illustrate this recipe, we will apply a processing function that sharpens an image. It is based on the Laplacian operator (which will be discussed in Chapter 6, Filtering the Images). It is indeed a well-known result in image processing that if you subtract the Laplacian from an image, the image edges are amplified, thereby giving a sharper image.
This sharpened value is computed as follows:
sharpened_pixel= 5*current-left-right-up-down;
Here, left
is the pixel that is immediately on the left-hand side of the current one, up
is the corresponding one on the previous line, and so on.
How to do it...
This time, the processing...