ImageApply[f, image] replaces the list of channel values for each pixel by the result of applying the function f to the list.
ImageApply works on images with any number of channels.
In ImageApply[f, image], the function f can return a number or a list of any length.
The channel values supplied to f are normally in the range 0 to 1, regardless of the underlying type used in the Image object. The function f is assumed to return channel values that are normally in the range 0 to 1.
ImageApply has the option Interleaving which specifies whether f should be applied to individual channel values or to the complete list of channel values for a given pixel. The default setting is Interleaving->True.