A crucial problem in image analysis is to construct efficient low-level representations of an image, providing precise characterization of features which compose it, such as edges and texture components. An image usually contains very different types of features, which have been successfully modeled by the very redundant family of 2D Gabor oriented wavelets, describing the local properties of the image: localization, scale, preferred orientation, amplitude and phase of the discontinuity. However, this model generates representations of very large size. Instead of decomposing a given image over this whole set of Gabor functions, we use an adaptive algorithm (called matching pursuit) to select the Gabor elements which approximate at best the image, corresponding to the main features of the image. This produces compact representation in terms of few features that reveal the local image properties. Results prove that the elements are precisely localized on the edges of the images, and give a local decomposition as linear combinations of `textons' in the textured regions. We introduce a fast algorithm to compute the matching pursuit decomposition for images with a complexity of (Omicron) (N log2 N) per iteration for an image of N2 pixels.