matlab图像识别椭圆的代码_Matlab关于多椭圆检测

该博客介绍了一种使用Matlab进行图像中的椭圆检测的方法,通过处理像素点找到椭圆的中心,然后利用坐标变换和方程求解得到椭圆参数。最后,以红色曲线显示了识别出的椭圆。
摘要由CSDN通过智能技术生成

%一般椭圆方程:A*x^2+2Bxy+Cy^2+2Dx+2Ey+1=0;或者:A*(x-Cx)^2+2B(x-Cx)(y-Cy)+C(y-Cy)^2+C(y-Cy)^2+1=0;

%圆心在原点的椭圆方程:A*x^2+2Bxy+Cy^2+1=0;

clear all;clc;

global   centerx centery

%I=imread('b3.jpg');

%I=im2bw(I,.2);

%I=edge(I,'sobel');

I=imread('P.bmp');

I=im2bw(I);

[sy,sx]=size(I); sz=sy*sx;

[y,x]=find(I==0);   %找出像素点为0的坐标

totalpix=length(x); %找出数组x的长度。

center=zeros(sy,sx);%初始化一个二维矩阵sy*sx,作为累加器

%求椭圆的圆心。

i=1;

for cnt=i:totalpix-1

%for centR=1:50

cnt1=(i+1):totalpix;

b=round((y(cnt)+y(cnt1))/2);

a=round((x(cnt)+x(cnt1))/2);

ind =sub2ind([sy,sx],b,a);

%center(sz*(centR-1)+ind)=ce

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值