This article presents a robust translation, rotation, and scaling invariant pattern recognition algorithm using partially distorted two-dimensional (2D) contours. Both global and local matching accuracies are guaranteed: the former is achieved by using global control point (GCP) and curvature matching and the latter by using the iterative closest point (ICP) algorithm. In the proposed algorithm, an input contour is considered two possible types: first the contour contains GCP and the second contains no GCP. For the contours with no detected GCPs, the algorithm considers the contour as the second type of contour and the curvature matching algorithm is directly applied. For the contour with GCPs, a global alignment is performed using the GCPs and then, the curvature matching algorithm is applied. The validity of the algorithm is illustrated by the presentation of experimental results. The experiments show that the algorithm works well for partial object recognition with and without GCPs.