We divide the boundary of a 2-dimensional object into segments each of which is either straight or a circular arc; associated with the segment end-points are angle measures that can be used to match an object with a transformed (rotated, scaled) version of itself. The chain code, easily extracted from the boundary pixels, is the basis of this division. The approach avoids problems common to many of the existing methods for identification of curvature extrema: sensitivity to noise and dependence on parameters that are chosen empirically. To each section of the boundary we assign a code that represents the change in slope between it and the previous section. This set of codes is integrated and thus provides a measure of the total directional change relative to the first section. For a closed object, the sequence of these sums is periodic, and one cycle can be plotted as a function of arc length, s. Such a plot can be shown to contain only straight lines: those that are not parallel to the s axis (representing circular arcs on the original boundary of the object), and those that are (representing straight sections on the boundary). This paper describes a recursive procedure for dividing the digital version of the curve described above into its linear segments. Each segment represents an arc that is the best fit to a portion of the original boundary; the angle which is defined by the arc is identical to the angle change of the edge in the same section, and the length of the arc is identical to that of the edge. The recursive procedure measures the error (for each value of arc length) between a proposed fitting line and the actual value of cumulative angle; where the error is maximum, and above a threshold, the line is segmented. The procedure is repeated until the error is sufficiently small. The breakpoints thus indicate the location and value of points of greatest curvature change. A formal definition of the procedure is given, and it is shown to perform well for rotated, scaled, and noisy objects.