Given two or more images, we can define different but related problems on pattern matching such as image registration, pattern detection and localization, and common pattern discovery. These problems have different levels of purpose and difficulties, as a result, often associate with different solutions. In this paper, we propose a novel approach to solve these problems under a unified framework based on graph matching. We first split the images into small blocks and represent each block as a node in a bipartite graph. A maximum weighted bipartite graph matching algorithm is then employed in an iterative way to find the best transformation set. Experimental results show that our approach can handle rotation, scaling and translation, as well as distortion and occlusion. Another virtue of our approach is its efficiency.