🥑SimpleCV形状分类检测

SimpleCV | Python | 形状分类

SimpleCV是用于构建计算机视觉应用程序的开源框架。 它使您可以借助一些强大的计算机视觉库(例如OpenCV)来处理来自网络摄像头,Kinects,FireWire和IP摄像机或移动电话的图像或视频流,而无需先了解位深度,文件格式 ,色彩空间,缓冲区管理,特征值或矩阵与位图存储。

我们可以在simplecv.org上找到很多文档,示例和教程。这次,我们将使用称为“ FindBlobs()”的SimpleCV方法来识别图像上的形状。

BLOB字来自Binary Large OBject,它是图像中一组共享像素,它们具有某些共同的属性(例如,灰度值)。 术语“大”表示在此图像上仅会注意到特定大小的对象,而其余的将被标识为“噪声”,并且该方法将忽略它。 斑点检测的目的是识别并标记这些特定区域。

在此图像的右窗口中,我们可以看到白色的所有与黑色背景不同的对象。在左侧窗口中,我们可以看到有两个斑点与所需的特征相匹配。

BLOB分析中有三种主要方法:

  1. 提取

  2. 表示

  3. 分类

提取

该方法从找到互连的像素开始,这意味着该相邻像素符合先前确定的规格。 通常使用递归草火和安全草火算法来查找此相互关联的像素,这一次我们不再对此进行深入研究。

表示

下一步是在我们先前提取的像素上表示特征,这是通过获取在提取中找到的特征数量,然后将其与建议的特征进行比较以查看其是否匹配来完成的,例如,如果我们正在识别矩形,则像素最多代表四条相互连接的线,两条线水平彼此平行,而两条线垂直彼此平行。

分类

检测的最后一步是将先前标识的表示形式与原型进行比较,以验证其是否与我们要寻找的所有特征相匹配,在这种情况下,原型将是组成矩形的一组像素。

源代码

🏈page指点迷津 | Brief

Last updated