ABSTRACT

In this chapter, after dealing with GPU median filter implementations, we propose to explore how convolutions can be implemented on modern GPUs. Widely used in digital image processing filters, the convolution operation basically consists of taking the sum of products of elements from two 2D functions, letting one of the two functions move over every element of the other, producing a third function that is typically viewed as a modified version of one of the original functions. To begin with, we shall examine nonseparable or generic convolutions, before addressing the matter of separable convolutions. We shall refer to I as an H × L pixel gray-level image and to I(x, y) as the gray-level value of each pixel of coordinates (x, y).