An overview is given on the use of cellular automata for image processing. We first consider the number of patterns that can exist in a neighbourhood, allowing for invariance to certain transformation. These patterns correspond to possible rules, and several schemes are described for automatically learning an appropriate rule set from training data. Two alternative schemes are given for coping with gray level (rather than binary) images without incurring a huge explosion in the number of possible rules. Finally, examples are provided of training various types of cellular automata with various rule identification schemes to perform several image processing tasks.