物体检测简单场景中的LED

时间:2014-07-02 22:05:52

标签: opencv image-processing computer-vision

我是opencv的新手,我猜这个问题可能有点简单:我试图在图像中检测到一个大约25 x 15像素的对象,即470 x 590像素。 enter image description here

我正在附加此对象的缩放图像,我有几个选项可供选择:

1 - 使用霍夫变换进行两次关闭圆圈检测, 2 - 直方图匹配 3 - SURF特征检测

有关我应该选择哪个方向的建议?请考虑速度和实时应用。感谢

2 个答案:

答案 0 :(得分:2)

我认为它应该没有明确说明,但可能有数百种可以尝试的东西,并且只有一个示例图像,很难建议。例如,LED总是绿色?我们不知道。

除此之外,imho,两个很好的起点是使用ol'忠实的模板匹配或blob检测。

然后,如果它不够健壮,你需要看一下模板/ blob的一些替代表示,比如经典的HoG(适合形状,可能有点沉重的应用程序。),甚至你自己的定制一个编码您自己的域特定的这个问题的知识。

然后,如果这不够健壮,建立一个代表+ ve和-ve示例的数据集,尽可能大,然后训练像svm或增强分类器的机器。

模板匹配:

http://docs.opencv.org/doc/tutorials/imgproc/histograms/template_matching/template_matching.html

Blob检测:

https://code.google.com/p/cvblob/

机器学习:

http://docs.opencv.org/modules/ml/doc/ml.html

TIPS: 添加尽可能多的领域知识,即如果它们总是绿色,则在表示中使用颜色,例如g g上的hog。如果它们始终是圆形的,请尝试对其进行编码,例如在模板中使用对数极坐标网格,而不是使用常规网格......等等。

机器学习并不神奇,线性分类器基本上会对特征空间中的不同点进行加权,因此您仍需要良好的表示,因此如果模板匹配完全失败,那么简单的线性毫升不太可能有帮助,但如果模板匹配没问题,那么ml可能会将性能提升到一个良好的水平。

答案 1 :(得分:0)

第1步:删除黑色背景。

第2步:蛇算法可用于查找对象的边界

相关问题