1. A method of detecting cloud features, the method comprising: obtaining image data; identifying regions of the image data corresponding to a below-horizon region and an above-horizon region; classifying one or more parts of the above-horizon region as sky; classifying, as a cloud feature, each part of the above-horizon region that has not been classified as sky; determining an identification model specifying a visual appearance of some or all of the parts of the above-horizon region that have been classified as a cloud feature; and using the determined identification model, classifying, as cloud features, those regions of the of the below-horizon region whose visual appearance is as specified by the identification model; wherein the step of classifying one or more parts of the above-horizon region as sky comprises: computing image gradients for Red-Green-Blue channels of the image data in directions tangential and normal to a horizon line; smoothing, by averaging over a local circular neighborhood, the computed image gradients for the Red-Green-Blue channels; summing the smoothed Red-Green-Blue channel image gradients to produce a combined smoothness value of each pixel in the directions tangential and normal to the horizon line; selecting a part of the above-horizon region in which, for each pixel in that part, the combined smoothness values of that pixel in directions tangential and normal to the horizon line are below a predetermined threshold value; and classifying the selected part as sky if properties of pixels within the selected part fulfil one or more predetermined criteria.