2

参考下图,有人可以指导我如何提取所有灯泡(b1、b2、b3、b4、b5)并将它们放在单独的图像中(b1.jpg、b2.jpg、b3.jpg、b4。 jpg,b5.jpg)。

在此处输入图像描述

我可以使用模板,但问题是灯泡的大小和形状各不相同,正如您所看到的那样。(但灯泡的整体外观仍然相同)。

有什么建议如何使用openCV做到这一点?

谢谢并恭祝安康,

赫什舍姆

4

3 回答 3

0
  • 好吧,如果您使用模板,为什么不使用不同的模板?保留一堆模板,将它们与图像匹配。哪个给你最好的匹配就是你的候选人。
  • 如果我正确理解了问题,第二种方法是使用 SURF 功能。SURF 对于倾斜、透视、旋转变化非常强大,因此它肯定会帮助您找出灯泡。
  • 是一个使用 SURF 炫耀的链接。简单而优雅。
于 2012-04-13T12:26:32.917 回答
0

如果背景总是像您的示例中那样纯白色,您可以进行简单的基于阈值的分割并按大小过滤结果区域以消除黑色伪影。

于 2012-04-13T12:32:21.107 回答
0

对于 Georg +1,在这种情况下,非常简单的过滤器对您来说应该足够了。

如果您的数据比您显示的更复杂,为了获得更高的准确性,您可能会考虑您肯定会为每个灯泡获得的信息。

我会说一个轮廓和一个黄色的底部。

使用这两个信息,我会考虑区分所有铬元素,并开始在其上方搜索灯泡。区域增长可能是一个正确的解决方案,但时间很长。

于 2012-04-13T12:57:23.730 回答