Basic features for edge detection, such as derivatives, can be further manipulated to improve detection performance. How to effectively combine different local features to improve detection performance remains an open issue and needs to be investigated. Genetic Programming (GP) has been employed to construct composite features. However, the range of the observations of an evolved program might be sparse and large, which is not good to indicate different edge responses. In this study, GP is used to construct composite features for edge detection via estimating the observations of evolved programs as triangular distributions. The results of the experiments show that the evolved programs with a large range of observations are not good to construct composite features. A proposed restriction on the range of the observations of evolved programs improves the performance of edge detection.