Image classification is an important task in computer vision. Image features are often needed for classification, but the majority of feature extraction methods require domain experts and human intervention. To learn image features automatically from the problems being tackled is more effective. However, it is very difficult due to image variations and the high dimensionality of image data. This paper proposes a new feature learning approach based on Gaussian filters and genetic programming (GauGP) for image classification. Genetic programming (GP) is a well-known evolutionary learning technique and has been applied to many visual tasks, showing good learning ability and interpretability. In the proposed GauGP method, a new program structure, a new function set and a new terminal set are developed, which allow it to detect small regions from the input image and to learn discriminative features using Gaussian filters for image classification. The performance of GauGP is examined on six different data sets of varying difficulty and compared with four GP-based methods, eight traditional approaches and convolutional neural networks. The experimental results show GauGP achieves significantly better or similar performance in most cases. Further analysis on example GP programs demonstrates the good interpretability of GauGP and the importance of Gaussian filters in GauGP in terms of feature learning and image classification.