matlab图像处理作业,使用霍夫变换统计图片中硬币数量,并显示直径,使用app designer设计,带gui界面,代码巨短!

预览

在这里插入图片描述

注意事项

使用R2020b版本开发,部分功能需要R2019a以后版本支持,不建议使用过早版本的matlab

下载链接

不多bb,急用直接点击下载,不急下载完看下面说明

介绍

读取文件

        function LoadButtonPushed(app, event)
            % 打开资源管理器选择文件
            filterspec = {'*.jpg;*.tif;*.png;*.gif','All Image Files'};
            [f, p] = uigetfile(filterspec);
            
            % 确保没有点击取消按钮
            if (ischar(p))
                fname = [p f];
                updateimage(app, fname);
            end
        end

在这里插入图片描述

统计出所有的圆心和半径

计算图片中有多少个圆
[30 350] 圆的半径范围,单位像素
Sensitivity 敏感度因子,越大检测到的越多
EdgeThreshold 边缘梯度阈值,越低检测到的目标越多

[app.centers, app.radii, ~] = imfindcircles(app.im, [30 350], 'Method', 'TwoStage', 'Sensitivity', 0.94, 'EdgeThreshold', 0.18);

详细介绍
在这里插入图片描述
在这里插入图片描述

圈出硬币

rectangle(app.UIAxes, 'Position',[app.centers(i, 1)-app.radii(i) app.centers(i, 2)-app.radii(i) app.radii(i)*2 app.radii(i)*2], 'Curvature', 1,'EdgeColor','g','LineWidth',3);

rectangle用于画圆角矩形
介绍

标注直径

text(app.UIAxes, app.centers(:,1), app.centers(:,2), num2str(app.radii),'Color','g',"FontSize",30);
  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值