黑线的提取我们参考了去年上海大学的黑线提取方法,在前十行采用边缘提取方法,十行以后的利用跟踪边缘提取方法。实验测得这种方法只要细节掌握好能够很好的提取出黑线。下面是具体的黑线提取方法。如图5.4 图5.4黑线提取流程图 1) 首先准备提取黑线 2) 用检测跳变的方法提取出前十行中每行的两个跳变点,然后求平均值就可以得到前十行的黑线位置。当搜索到多个跳变的时候,我们根据上一行跳变的位置确定出最优的那个跳变的位置作为本行的黑线跳变位置。当前十行都没有找到黑线的时候,我们就认为这幅图像的黑线丢失了,然后依据前一幅图像黑线的位置,给这幅图像的整体赋极值。当只有十行中的几行丢失时,我们就继续搜索黑线直道找完前十行位置。 3) 当前十行黑线存在时,我们利用前十行黑线的位置确定第十一行黑线的位置,然后在这个区间搜索黑线,依次类推用前一行黑线的位置确定后一行黑线的位置,当本行黑线没有找到时,此行黑线位置保持上行的值,下行搜索的位置相应的扩大。有连续3行黑线搜索不到十我们就认为黑线丢失,退出搜索。这样既可以去除干扰,还可以大大的提高算法的效率。 值得注意的是:第十行和前一行第九行这个接口位置边缘确定非常重要,要考虑的非常全面,不然有可能就只能搜索到前十行的黑线,后面的黑线因为边缘的问题所有不到。 4)搜索完成后推出搜索。对搜索到的黑线进行中值滤波和限幅滤波。 只要搜索范围合理,这种算法有很强的抗干扰能力,并且可以滤除十字交叉和三角黑区的干扰。 |