使用边界跟踪方法标识图像中的圆形目标

简介: 使用边界跟踪方法,根据对象的圆度对其进行分类。

​一、前言
使用边界跟踪方法,根据对象的圆度对其进行分类。
二、实现步骤
步骤 1:读取图像
1.png
步骤 2:阈值化图像
将图像转换为黑白,以便使用 bwboundaries 为边界跟踪做准备。
2.png

步骤 3:去除噪声
使用形态学函数,删除不属于感兴趣对象的像素。删除包含少于 30 个像素的所有对象。
3.png
填充笔帽中的间隙。
4.png

填充任何孔洞,以便可以使用 regionprops 来估计每个边界所包围的面积。
5.png

步骤 4:找到边界
只关注外边界。指定 'noholes' 选项将通过阻止 bwboundaries 搜索内部轮廓来加快处理速度。显示标签矩阵并绘制每个边界。
6.png
步骤 5:确定哪些对象为圆形
估计每个对象的面积和周长。使用这些结果形成简单的度量来表示对象的圆度:
metric=4π∗areaperimeter2
只有对于圆,该度量值等于 1;而对于任何其他形状,该度量值都小于 1。可以通过设置适当的阈值来控制判别过程。此示例中使用 0.94 的阈值,以便只将药丸分类为圆形。
7.png

目录
相关文章
|
数据可视化
R绘图 | 包含/比例关系环图
R绘图 | 包含/比例关系环图
198 0
|
Linux
【PyAutoGUI操作指南】05 屏幕截图与图像定位:截图+定位单个目标+定位全部目标+灰度匹配+像素匹配+获取屏幕截图中像素的RGB颜色
【PyAutoGUI操作指南】05 屏幕截图与图像定位:截图+定位单个目标+定位全部目标+灰度匹配+像素匹配+获取屏幕截图中像素的RGB颜色
1232 0
|
27天前
|
图形学
unity 扇形范围检测目标
本文介绍了两种实现扇形范围检测的方法。第一种方法通过计算目标点与技能释放者之间的距离和夹角,判断目标是否在指定的扇形范围内。代码主要利用了`Vector3.Distance`和`Vector3.Dot`进行距离和角度的计算。 第二种方法则使用摄像机射线检测,分为两个脚本:一个挂载在摄像机上,负责发射多条射线并检测碰撞对象;另一个挂载在目标物体上,处理被发现后的逻辑。摄像机脚本通过`Physics.Raycast`检测敌人或障碍物,并调用目标物体的响应函数。该方法适用于更复杂的场景,如视野检测和敌人发现机制。
|
5月前
|
JSON 数据格式 计算机视觉
Opencv实用笔记(一): 获取并绘制JSON标注文件目标区域(可单独保存目标小图)
本文介绍了如何使用OpenCV和Python根据JSON标注文件获取并绘制目标区域,同时可将裁剪的图像单独保存。通过示例代码,展示了如何读取图片路径、解析JSON标注、绘制标注框并保存裁剪图像的过程。此外,还提供了相关的博客链接,供读者进一步学习。
114 0
|
7月前
|
数据采集 机器学习/深度学习 算法
5.2.3 检测头设计(计算预测框位置和类别)
这篇文章详细介绍了YOLOv3目标检测模型中的检测头设计,包括预测框是否包含物体的概率计算、预测物体的位置和形状、预测物体类别的概率,并展示了如何通过网络输出得到预测值,以及如何建立损失函数来训练模型。
|
7月前
|
机器学习/深度学习 JSON 算法
|
9月前
|
测试技术
【实战OBB】自定义旋转对象检测
【实战OBB】自定义旋转对象检测
109 0
|
10月前
[Halcon&图像] 图像、区域和轮廓相互转化
[Halcon&图像] 图像、区域和轮廓相互转化
333 1
|
10月前
|
C++
[Halcon&定位] 解决Roi区域外的模板匹配成功
[Halcon&定位] 解决Roi区域外的模板匹配成功
288 0