使用OpenCV进行模式识别

我试图在绿色领域上检测一个物体上的图案,它由三种颜色(两侧为粉红色标记,中间为蓝色)组成,像交通灯一样排列。

起初,我尝试将图像从网络摄像头转换为hsv色彩空间,并使用cvInRangeS隔离色彩,但随着房间内灯光变化,我在获得误报或丢失物体轨迹的过程中出现问题。

然后,我通过修改find​​_obj.cpp来尝试SURF,问题在于opencv只能检测到我的标记上的2个冲浪点,这不足以从代码中找到它,至少我需要4个,我尝试使用冲浪参数但是这并没有改变任何东西。

同时,当我搜索到这个时,

http://wiki.elphel.com/index.php?title=OpenCV_Tennis_balls_recognizing_tutorial&redirect=no

其中说我也可以使用机器学习来选择我感兴趣的颜色范围,但我找不到有关如何做到这一点的任何信息。

我的问题是,OpenCV中有什么可以让我检测标记吗?

编辑:关于尝试哈尔训练的另一个问题,我的背景将始终是相同的颜色相同的表面使用相同的标记为对象,我可以训练一个分类与说20正20负片或我仍然需要数以千计的图像才能得到它认识?


我建议你使用颜色检查Shervin的blob检测教程
http://www.shervinemami.info/blobs.html

编辑

你晚上试试retinex来帮助改善效果

http://www.ipol.im/pub/algo/lmps_retinex_poisson_equation/

链接地址: http://www.djcxy.com/p/50935.html

上一篇: Pattern Recognition using OpenCV

下一篇: Integrate CMS into ASP.NET MVC web application?