OpenCV:从黑白图像中检测简单的电子元件

时间:2012-01-12 08:32:46

标签: opencv object-detection

我是OpenCV的新手,并试图找出从电路图等图纸中搜索组件的最佳方法。组件始终为黑色,背景为白色,但组件可以旋转和缩放。

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

enter image description here

我应该为每个组件进行Haar培训吗?或模板匹配?

谢谢!

1 个答案:

答案 0 :(得分:7)

由于此声明,您可能可以排除使用模板匹配

  

组件可以旋转和缩放

除非您计划为每种组件类型制作许多模板(即大量的旋转和比例),否则模板匹配在这些情况下无法正常工作。

Haar级联可能会起作用,但至少在面部检测时,它可以处理+/- 20度左右的旋转量有些限制。虽然,我认为这主要是由于使用了训练集。哈尔级联需要很多(成千上万才能获得一个好的)训练图像正面和负面集。因此,数据收集可能需要一段时间。

您可以从squares.cpp示例开始,看看如何检测图表上的矩形块以进行基本形状检测。然后,如果您对方形检测感到满意,请将其扩展为检测三角形等。

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

matcher_simple.cpp
matching_to_many_images.cpp
descriptor_extractor_matcher.cpp
bagofwords_classification.cpp

希望有帮助!