一、前言
使用边界跟踪方法,根据对象的圆度对其进行分类。
二、实现步骤
步骤 1:读取图像
步骤 2:阈值化图像
将图像转换为黑白,以便使用 bwboundaries 为边界跟踪做准备。
步骤 3:去除噪声
使用形态学函数,删除不属于感兴趣对象的像素。删除包含少于 30 个像素的所有对象。
填充笔帽中的间隙。
填充任何孔洞,以便可以使用 regionprops 来估计每个边界所包围的面积。
步骤 4:找到边界
只关注外边界。指定 'noholes' 选项将通过阻止 bwboundaries 搜索内部轮廓来加快处理速度。显示标签矩阵并绘制每个边界。
步骤 5:确定哪些对象为圆形
估计每个对象的面积和周长。使用这些结果形成简单的度量来表示对象的圆度:
metric=4π∗areaperimeter2
只有对于圆,该度量值等于 1;而对于任何其他形状,该度量值都小于 1。可以通过设置适当的阈值来控制判别过程。此示例中使用 0.94 的阈值,以便只将药丸分类为圆形。