2012-01-12 37 views
2

我是OpenCV中的新手,并试图找出方法,从电路图等图纸中搜索组件的最佳方法。元件总是黑色,白色背景,但元件可以旋转和缩放。OpenCV:从黑白图像中检测简单的电子元件

带组件的简单示例。图总是比这更好的分辨率。

enter image description here

我应该为每个组件哈尔培训?还是模板匹配?

谢谢!

回答

5

你也许可以排除,因为这句话的使用模板匹配

组件可以旋转和缩放

模板匹配将不能很好地在这些情况下,除非你打算使许多模板工作(即大量的旋转和缩放)。

哈尔级联可能工作,但至少在面部检测时,它可以处理+/- 20度左右的旋转量受到一定的限制。虽然,我认为这主要是由于使用的训练集。哈尔级联需要大量的训练图像(数千个才能获得好的训练图像)。所以,数据收集可能需要一段时间。

您可能会从squares.cpp样本开始,看看它是如何工作的,以检测图上矩形块的基本形状检测。然后,如果您对平方检测感到满意,可以将其扩展为检测三角形等。

然后有基于特征的方法(SURF,SIFT,MSER等)。您可能会发现一些有用的样品中:

matcher_simple.cpp
​​
descriptor_extractor_matcher.cpp
bagofwords_classification.cpp

希望这是有帮助!