<p>A method of processing an image comprises traversing each pixel of the image in a single pass over the image; applying an inverting function to each pixel; applying a recursive filter to each inverted pixel value, the filter having parameters which are derived from previously traversed pixel values of the image; and combining the pixel value with the filter parameter for the pixel to provide a pixel value for a processed image.</p>