MATLAB二值图像用最小二乘法拟合成圆,并找其圆心
2个回答
展开全部
用最小二乘法可以得出,圆心横坐标就是图上点的横坐标的平均值,圆心纵坐标就是图上的点的
坐标的平均值;(只找了左边的圆 右边的一样,坐标都是像素坐标)
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')
东莞大凡
2024-08-07 广告
2024-08-07 广告
在东莞市大凡光学科技有限公司,我们利用Halcon软件处理机器视觉项目时,会用到自定义标定板以满足特定需求。Halcon支持用户根据实际应用场景自定义标定板形状与标记点。这不仅可以灵活应对不同工作环境,还能提高标定精度。通过调整圆点数量、间...
点击进入详情页
本回答由东莞大凡提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询