function [XC,YC,R] = locatecenter(IMAGE,TOL,NPTS) F = imread(IMAGE); FG = rgb2gray(F); [DY,DX] = size(FG); XC = 0; YC = 0; K = 0; for J = 1:DX for I = 1:DY if (F(I,J) <= TOL) XC = XC + J; YC = YC + I; K = K + 1; end; end; end; XC = uint8(XC/K); YC = uint8(YC/K); I = 0; while F(YC+I,XC)-F(YC,XC) <= TOL I = I + 1; end R = I; THETA = linspace(0.0,2.0*pi,NPTS); X = 0.1*R*cos(THETA)+double(XC); Y = 0.1*R*sin(THETA)+double(YC); imshow(F); hold on; plot(X,Y,'y-'); X = R*sin(THETA)+double(XC); Y = R*cos(THETA)+double(YC); plot(X,Y,'r-'); end