The detection of cracks in tunnels has profound impact on the tunnel’s safety. It’s common for low contrast, uneven illumination and severe noise pollution in tunnel surface images. As traditional image processing algorithms are not suitable for detecting tunnel cracks, a new image processing method for detecting cracks in surface images of subway tunnels is presented in this paper. This algorithm includes two steps. The first step is a preprocessing which uses global and local methods simultaneously. The second step is the elimination of different types of noises based on the connected components. The experimental results show that the proposed algorithm is effective for detecting tunnel surface cracks.