The manual selection of linear and nonlinear operators for producing image filters is not a trivial task in practice, so new proposals that can automatically improve and speed up the process can be of great help. This paper presents a new proposal for constructing image filters using an evolutionary programming approach, which has been implemented as the IFbyGP software. IFbyGP employs a variation of the Genetic Programming algorithm (GP) and can be applied to binary and gray level image processing. A solution to an image processing problem is represented by IFbyGP as a set of morphological, convolution and logical operators. The method has a wide range of applications, encompassing pattern recognition, emulation filters, edge detection, and image segmentation. The algorithm works with a training set consisting of input images, goal images, and a basic set of instructions supplied by the user, which would be suitable for a given application. By making the choice of operators and operands involved in the process more flexible, IFbyGP searches for the most efficient operator sequence for a given image processing application. Results obtained so far are encouraging and they stress the feasibility of the proposal implemented by IFbyGP. Also, the basic language used by IFbyGP makes its solutions suitable to be directly used for hardware control, in a context of evolutionary hardware. Although the proposal implemented by IFbyGP is general enough for dealing with binary, gray level and color images, only applications using the first two are considered in this paper; as it will become clear in the text, IFbyGP aims at the direct use of induced sequences of operations by hardware devices. Several application examples discussing and comparing IFbyGP results with those obtained by other methods available in the literature are presented and discussed.