EasyTrace简介:
使用EasyTrace可以对单一颜色物体进行实时跟踪识别
EasyTrace特点:
1.代码只有300行,非常简单
2.识别一次只需要2至5毫秒,实时性强
3.只有1个API,使用方便
4.可配置”容错率“ ”迭代次数“等参数,可在”时间“实时性”“ ”准确度“ ”识别率“ ”误识率“ 之间寻找平衡点
使用举例
RESULT Resu;
TARGET_CONDI Condition={60,100,20,120,10,160,40,40,320,240};
Trace(&Condition,&Resu);
视频中使用的是 stm32f103vet6 和 ILI9341的液晶驱动芯片 以及 王工的OV7670带FIFO的摄像头
http://v.youku.com/v_show/id_XNDU1ODM4NzY4.html
EasyTrace.rar
2.7 KB
源码
更正一处bug:easytrace.c文件中第81行修改为s = (difVal)*240/(511 - (maxVal+minVal));
多目标跟踪演示:)
http://v.youku.com/v_show/id_XNTU4OTU3NTk2.html
http://v.youku.com/v_show/id_XNTU4OTU4NzI4.html
原理很简单:
先遍历寻找腐蚀中心,然后在腐蚀中心处进行迭代。
RBG效果不好需要转成HSL
HSL是什么
H指hue(色相)、S指saturation(饱和度)、L指lightness(亮度)。与RGB相比HSL与人类对颜色感知更接近。
腐蚀中心是什么
视频中的红点就是腐蚀中心,腐蚀算法将从该点开始分别向上下左右四个方向进行读点,若点的颜色符合条件则往外读,等四个方向都结束后得到四个边缘点的坐标,记左边缘点的x轴坐标为left,右边缘点的x轴坐标为right,上边缘点的y轴坐标为up,下边缘点的y轴坐标为bottom,那么坐标( (right-left)/2 , (up-bottom)/2 ) 即为新的腐蚀中心