边缘检测的简化想法 不做车也有六年了,算是智能车的老帮菜了,可还是听到一些老生常谈的事情,比如边缘检测。一般说到边缘检测想到的就是大津法,但是对于类间方差的物理意义,我当时过于浮躁没有细挖,就想着一种简化的方法。 对于智能车比赛来讲,主要就是“白”、“黑”、“未定”这三种情况。且各自数值较为集中,当曝光合理时,前两者将趋近于特定数值。那么在边缘处,经理了“未定”->“黑”->“白”的过程。根据二值化的判定思路将存在下述情况: 1)“白”->“黑”->“白” 2)“黑”->“黑”->“白” 3)“反复跳变”->“黑”->“白” 一旦遇到第三种情况就会检测到很多的“边缘”,那么检测“黑”->“白”的数值将避免这个情况。当“白”、“黑”趋近于特定数值时,用 “白”的最大值减去“黑”的最小值则是最大的变化跳变。此时考虑一个特定系数,将跳变×特定系数就可以得到“白”的最小值减去“黑”的最大值,同时可以过滤到中间颜色。此特定系数可以拿不同光照下不同的赛道去测出来。 当“全黑”、“全白”、“全未定”时,此跳变值将变化很小,当时考虑的时候用平均值×特定系数,当跳变值小于此数值时认为不存在跳变。此数值用于检测“全白”很容易,只需要保证满足“全黑”光照下的跳变能满足数值要求就可以。 简要来说,当时想的简化方法是:
条件1:ABS(像素[i+1]- 像素)>(像素最大值-像素最小值)×特定系数1 条件2:ABS(像素[i+1]- 像素)>像素最平均值×特定系数2
满足上述两个条件,则得到了边缘点。 现在想想,这个方法也没啥物理意义,以后有空再细想吧。
|