用 matlab 求圆的圆心及半径
程序如下:
f=imread('D:\yuan.png');
imshow(f);
i=rgb2gray(f);
[g,t]=edge(i,'sobel','vertical');
imshow(g);
Hold on;
A=ginput(3);
a=A(1,:);
b=A(2,:);
c=A(3,:);
syms x y
s1=sqrt((a(1)-x)^2+(a(2)-y)^2);%圆心到各点距离
s2=sqrt((b(1)-x)^2+(b(2)-y)^2);
s3=sqrt((c(1)-x)^2+(c(2)-y)^2);
eq1=s1-s2; %方程
eq2=s2-s3;
[x,y]=solve(eq1,eq2,'x','y'); %解方程
Plot(x,y,’r+’);
s1=156.5038