首先感谢 @后打开撒打发了 的指引,使得我这么快地得到进展,现在还差最后的参数调试问题。
http://blog.csdn.net/chenxun_2010/article/details/38402951
我用的方法是HSV的颜色空间。这种空间能够很好的将绿色分离出来。
具体介绍: http://baike.baidu.com/subview/541362/8445478.htm
其中有一些需要注意的地方:
1:http://blog.sina.com.cn/s/blog_640e17140101btdu.html
cvCvtColor(src,dst,CV_BGR2HSV);其中,src为三通道的,dst也为三通道的,OpenCV 中 H、S、V、顺序分别为3*x+0 3*x+1 3*x+2
OpenCV中的 H分量是 0~180, S分量是0~255, V分量是0~255 但是HSV颜色空间却规定的是,H范围0~360,S范围0~1,V范围0~1
所以你需要自己转换一下,H*2,V/255,S/255。(本人没有转)
2: 如何用OpenCV对HSV色彩空间进行操作
http://www.360doc.com/content/13/1119/14/10724725_330496780.shtml
最后出来效果图。代码后面再放到Github上吧。