matlab对二值图拟合椭圆,MATLAB二值图像用最小二乘法拟合成圆,并找其圆心

用最小二乘法可以得出,圆心横坐标就是图上点的横坐标的平均值,圆心纵坐标就是图上的点的

坐标的平均值;(只找了左边的圆 右边的一样,坐标都是像素坐标)

cef84c4889c65e02296a9da51850a04f.png

clc,clear;

data=imread('round.PNG');

data1=double(data(:,1:250));

data2=double(data(:,251:506));

% figure(1)

% imshow(data1);

% figure(2)

% imshow(data2);

%对于第一个圆

% figure(3)

% mesh(data1)

[x,y]=find(data1>20);%第二个圆只需把data1换成data2

plot(x,y,'*');

x0=mean(x);%圆心横坐标

y0=mean(y);%圆心纵坐标

hold on

plot(x0,y0,'*');

r=mean(sqrt((x-x0).^2+(y-y0).^2))

hold on

xx=x0-r:x0+r;

y1=sqrt(r^2-(xx-x0).^2)+y0;

y2=-sqrt(r^2-(xx-x0).^2)+y0;

plot(xx,y1,'r')

plot(xx,y2,'r')

  • 1
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值