matlab图像识别椭圆的代码_ellipsedetect椭圆的检测matlab程序

这段MATLAB代码实现了一种椭圆检测方法。首先,它读取图像并转化为二值图,然后进行形态学处理以去除噪声。接着,通过闭运算和填充操作找到边界,再使用bwboundaries寻找边界坐标,并描绘出每个边界。最后,通过对边界点的计算,试图识别和标记椭圆。
摘要由CSDN通过智能技术生成

function ellipsedetect()

clc;

figure(1);

%----读原图并显示

RGB=ShowGRB();

%----将原图转换为二值图并显示

bw=Show2bw(RGB);

%---- 应用形态学函数去噪,

bw=quzao(bw);

%---- 闭运算后的图像

bw=fengbi(bw);

%---填充封闭区域或者空洞

bw=fillim(bw);

%---------------Step 4: 寻找边界

[B,L] = bwboundaries(bw,'noholes'); %bwboundaries寻找二值图像的边界,“noholes”为外边界,返回值B为边界像素所在的坐标,L??????

figure(2)

imshow(label2rgb(L, @jet, [0.5 0.5 0.5])) ; % label2rge把图像标记为@jet彩色,背景默认为灰色

hold on

for K = 5:length(B) % length行列中的最大值

boundary = B{K}; % B{k}每一个图形边界对应的坐标值

plot(boundary(:,2), boundary(:,1), 'k', 'LineWidth', 2)%描画每一个图形的边界

end

%-----------------Step 5: 决定那个图形为圆形

area_tru=0;

area_cal=0;

sta

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值