从图像中获取对象的大小

信息处理 图像处理 图片
2022-02-08 06:00:16

我的目标是能够获得我从相机接收到的图像中对象的大小(以像素为单位)。

到目前为止,我已经尝试了两种方法,两种方法都在一定程度上起作用,我想知道您是否还有其他方法可以建议。

第一种方法是使用CIE Delta E公式。我将解析 BGR 24 图像数据,然后找到合适的像素,这些像素构成了我希望调整大小的对象的一部分。当我事先知道对象的颜色和位置时,这种方法效果很好,当我不知道时,效果就不那么好了。这种方法的另一个缺点是计算每个像素的 Delta E 的计算量非常大。

为了避免我必须事先知道颜色和位置,我使用Connected-component Labeling来查找对象并调整它们的大小。

这是我正在使用连接组件标签所做的示例。

在此处输入图像描述

从上图中可以看出,我进行了四个测量,水平、垂直、左对角线和右对角线。在确定对象的大小后,我知道它在图像中的位置,然后我将图像分解为 BGR24 图像并采集几个颜色样本。对图像进行去拜耳处理大约占处理时间的 50%,这比我更喜欢的要多。

现在,我的问题是:还有哪些其他方法可以查找图像中对象的像素大小?

2个回答

我会使用拆分和合并算法进行分割,然后简单地计算每个段的像素。此处提供详细信息

两个假设是必要的:

1)你的对象不重叠。

2)图片没有任何背景或进一步无关的物体

即使我不确定速度要求和目标应用程序,您也可以使用您的数据训练检测器模型。根据我自己的经验,它使用预训练模型的少量新训练样本非常有效。

Detectron 为您提供了非常准确且易于使用的实例分割模型。看看它的文档:

并查看此视频和链接:

干杯。