Finding The Record Center


Problem

We need to automatically find the center and radius of the record from the scanned data for each record image.  The center and radius are needed for groove rectification and for finding the tracks.

Solution

Our solution is to find several points corresponding to the outside edge of the record and to find the center of a circle that would minimize the error in the edge that passes through all of these points.

The first problem is to find points that correspond to the edge of the record.  The solution to this problem assumes that the the images are such that the record spans the image from side to side edge and that there is at least some white space between the record and the top edge of the image.  Furthermore, since we calibrate the exposure to the black part of the record, we assume that the area not corresponding to the record is very close to pure white.  Finding points on the edge of the record is then just a matter of dropping rays down from the top of the image and stopping when the first non-white pixel is encountered.  As simple as this is, it would be very easy to modify this algorithm so that the assumpions of where the white space is could be relaxed.  Also, the threshold for the white-space could probably be determined more automatically by looking at the gray-level distribution.

With exactly three points it is possible to calculate the circle that passes through those points exactly.  However, there is likely to be some error in the location of these points.   To reduce the error our strategy is to look at many measured points on the edge of the record and to calculate the least squares solution to a circle passing through them.  The solution is as follows:


.m files: calcCenter.m, findOuterEdge.m