Oriented filters are useful in many early vision and image processing tasks. One often needs to apply the same filter, rotated to different angles under adaptive control, or wishes to calculate the filter response at various orientations. We present an efficient architecture to synthesize filters of arbitrary orientations from linear combinations of basis filters, allowing one to adaptively "steer" a filter to any orientation, and to determine analytically the filter output as a function of orientation.
Steerable filters may be designed in quadrature pairs to allow adaptive control over phase as well as orientation. We show how to design and steer the filters, and present examples of their use in several tasks: the analysis of orientation and phase, angularly adaptive filtering, edge detection, and shape-from-shading. One can also build a self-similar steerable pyramid representation which may be used to implement a steerable "wavelet" decomposition. The same concepts can be generalized to the design of 3-D steerable filters, which should be useful in the analysis of image sequences and volumetric data.