Image segmentation is a crucial part of image processing applications. Currently available approaches require significant computer power to handle large images. We present an efficient region growing algorithm for the segmentation of multi-spectral images in which the complexity of the most time-consuming operation in region growing, merging segment neighborhoods, is significantly reduced. In addition, considerable improvement is achieved by preprocessing, where adjacent pixels with close colors are gathered and used as initial segments. The preprocessing provides substantial memory savings and performance gain without a noticeable influence on segmentation results. In practice, there is an almost linear dependency between the runtime and image size. Experiments show that large satellite images can be processed using the new algorithm in a few minutes on a moderate desktop computer.