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