发明名称 一种粗线型圆环标记的图像检测方法
摘要 本发明提供了一种粗线型圆环标记的图像检测方法,首先将标记中粗细不同的直线线条单像素化;然后利用检测框识别出所有交叉处的中心点,即交叉中心点;最后根据检测框内的黑白像素个数比筛选出圆环标记,从而确定圆环标记中心点的精确位置。本发明不受标记线成像后线条粗细变化的影响,几乎不受光照变化的影响,对噪声具有一定的鲁棒性,当被测物体成像后发生平移、旋转、缩放时,均可取得良好的检测效果。
申请公布号 CN103198476B 申请公布日期 2015.07.01
申请号 CN201310077056.2 申请日期 2013.03.12
申请人 西北工业大学 发明人 齐敏;王强;樊养余;侯晓琴;王毅;吕国云;李珂
分类号 G06T7/00(2006.01)I;G06T7/20(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 顾潮琪
主权项 一种粗线型十字圆环标记的图像检测方法,其特征在于包括下述步骤:步骤一、对原始图像进行灰度化、二值化处理,得到二值图像;其中,标记线条为黑色,背景为白色;步骤二、检测框为正方形,线宽为一个像素,定义其半边长为M个像素时,边长为(2M+1)个像素,检测框的半边长比圆环外轮廓半径大5个像素,图像原点位于图像左下角,检测框的中心点从图像原点出发,按照从左到右,从下到上的顺序依次扫描图像的所有像素,检测框中心点的坐标(i,j)为当前被检测像素在图像中的位置坐标;步骤三、部分非十字交叉中心点的初步排除与标记中直线线条的单像素化,分为以下几步:A.检测框以其中心点依次扫描图像的所有像素,对检测框四条边覆盖的黑像素情况进行检测:1)当检测框中心覆盖的被检测像素为白像素时,一定不是要检测的十字交叉中心点,检测框移至下一个像素;2)当检测框中心覆盖的被检测像素为黑像素时,有可能是要检测的十字交叉中心点,此时进一步检查检测框四条边覆盖的像素情况:(1)当检测框有一条及一条以上的边没有覆盖到黑像素时,意味着这些边与标记线条没有交点,被检测像素不是十字交叉中心点,检测框移至下一个像素;(2)当检测框四条边都覆盖有黑像素时,意味着检测框各边与标记线条均有交点,被检测像素可能是十字交叉中心点,此时对检测框四条边上的黑像素点进行处理,以确定构造标准直线的代表点,确定用于构造标准直线的代表点的方法由三步构成:①数据初始化,对每条边设置两个数据存储变量,用于存储检测到的候选代表点,即:上水平边数据存储变量:P<sub>u1</sub>(x<sub>u1</sub>,y<sub>u1</sub>),P<sub>u2</sub>(x<sub>u2</sub>,y<sub>u2</sub>);下水平边数据存储变量:P<sub>d1</sub>(x<sub>d1</sub>,y<sub>d1</sub>),P<sub>d2</sub>(x<sub>d2</sub>,y<sub>d2</sub>);左垂直边数据存储变量:P<sub>l1</sub>(x<sub>l1</sub>,y<sub>l1</sub>),P<sub>l2</sub>(x<sub>l2</sub>,y<sub>l2</sub>);右垂直边数据存储变量:P<sub>r1</sub>(x<sub>r1</sub>,y<sub>r1</sub>),P<sub>r2</sub>(x<sub>r2</sub>,y<sub>r2</sub>);并且,所有数据存储变量的x,y坐标初始值均赋值为‑1;②对检测框四条边覆盖的黑像素作如下处理:当黑像素点连续时,说明是粗线条,取连续黑点的中间点作为候选代表点,存储其位置坐标;对于连续黑点个数为偶数的情况,在检测框的水平边上取中间偏右点为代表点,在垂直边上取中间偏上点作为代表点;当为独立黑像素点情况时,独立黑点就是候选代表点,存储其位置坐标;检测到的候选代表点按照从1点到2点的顺序对初始坐标值进行更新;③对候选代表点进行筛选,确定最终的代表点,用于构造单像素线宽的标准直线,分下列几种情况:(a)若某条边上只有一个候选代表点,该候选代表点坐标值必定保存于1点中,2点的x,y坐标值仍为﹣1,此时,确定1点为代表点;(b)若某条边上有两个候选代表点,两候选代表点距检测框中轴线距离不相等,则将距离检测框中轴线较近点的坐标值保存于1点中,2点坐标值恢复为﹣1,此时,确定1点为代表点;(c)若某条边上有两个点,两交点距检测框中轴线距离相等,则坐标值分别保存于1点和2点中,此时,确定1点和2点均为代表点;最终,坐标值仍为﹣1的点即是实际中不存在的点,根据1点和2点的坐标值判断检测框各边上代表点的个数,即检测框与标准直线的交点个数;B.对检测框四条边上的交点进行分析,构造单像素线宽的标准直线:(1)当检测框各边均有一个交点时,相对边的交点分别相连构成两条直线,即为实际直线细化后的线宽为单像素的标准直线,进入步骤四;(2)当检测框的四条边均有两个交点时,说明有四条单像素线宽的标准直线产生,进入步骤四;(3)不满足以上条件的其他情况下,位于检测框中心处的被测像素不是要检测的十字交叉中心点,检测框移至下一个像素;步骤四、十字交叉中心点识别,分两种情况进行:A.当标准直线与检测框各边有一个交点时,设上、下、左、右四个交点分别为P<sub>u1</sub>(x<sub>u1</sub>,y<sub>u1</sub>),P<sub>d1</sub>(x<sub>d1</sub>,y<sub>d1</sub>),P<sub>l1</sub>(x<sub>l1</sub>,y<sub>l1</sub>),P<sub>r1</sub>(x<sub>r1</sub>,y<sub>r1</sub>),检测框中心所在像素坐标为(i,j),定义点P<sub>u1</sub>,P<sub>d1</sub>距检测框垂直中轴线的距离为|Δx<sub>u1</sub>|,|Δx<sub>d1</sub>|;点P<sub>l1</sub>,Pr<sub>1</sub>距检测框水平中轴线的距离为|Δy<sub>l1</sub>|,|Δy<sub>r1</sub>|,其中:Δx<sub>u1</sub>=x<sub>u1</sub>‑i,Δx<sub>d1</sub>=x<sub>d1</sub>‑i,Δy<sub>l1</sub>=y<sub>l1</sub>‑j,Δy<sub>r1</sub>=y<sub>r1</sub>‑j对于两条互相垂直的标准直线,具有性质:Δx<sub>u1</sub>=‑Δx<sub>d1</sub>且Δy<sub>l1</sub>=‑Δy<sub>r1</sub>设置一距离阈值DELTA,取值范围为1~3个像素,加入DELTA后,上述性质等效于:(Δx<sub>u1</sub>·Δx<sub>d1</sub>≤0)且|Δx<sub>u1</sub>+Δx<sub>d1</sub>|≤DELTA且(Δy<sub>l1</sub>·Δy<sub>r1</sub>≤0)且|Δy<sub>l1</sub>+Δy<sub>r1</sub>|≤DELTA;由此得十字交叉中心点的判别条件变为:当检测框检测到的四边交点坐标满足(Δx<sub>u1</sub>·Δx<sub>d1</sub>≤0)且|Δx<sub>u1</sub>+Δx<sub>d1</sub>|≤DELTA且(Δy<sub>l1</sub>·Δy<sub>r1</sub>≤0)且|Δy<sub>l1</sub>+Δy<sub>r1</sub>|≤DELTA时,判定检测到一个十字交叉中心点,其位于检测框中心处,位置坐标为(i,j),进入步骤五;否则,检测框移至下一个像素;B.当标准直线与检测框各边有两个交点时,设上、下、左、右四个边上的交点分别为P<sub>u1</sub>(x<sub>u1</sub>,y<sub>u1</sub>),P<sub>u2</sub>(x<sub>u2</sub>,y<sub>u2</sub>);P<sub>d1</sub>(x<sub>d1</sub>,y<sub>d1</sub>),P<sub>d2</sub>(x<sub>d2</sub>,y<sub>d2</sub>)P<sub>l1</sub>(x<sub>l1</sub>,y<sub>l1</sub>),P<sub>l2</sub>(x<sub>l2</sub>,y<sub>l2</sub>);P<sub>r1</sub>(x<sub>r1</sub>,y<sub>r1</sub>),P<sub>r2</sub>(x<sub>r2</sub>,y<sub>r2</sub>)当检测框中心坐标为(i,j)时,有Δx<sub>u1</sub>=x<sub>u1</sub>‑i,Δx<sub>u2</sub>=x<sub>u2</sub>‑i;Δx<sub>d1</sub>=x<sub>d1</sub>‑i,Δx<sub>d2</sub>=x<sub>d2</sub>‑iΔy<sub>l1</sub>=y<sub>l1</sub>‑j,Δy<sub>l2</sub>=y<sub>l2</sub>‑j;Δy<sub>r1</sub>=y<sub>r1</sub>‑j,Δy<sub>r2</sub>=y<sub>r2</sub>‑j十字交叉中心点的判别条件变为:当检测框四个边上的交点坐标满足下列四组情况之一时,则(i,j)是十字交叉中心点,进入步骤五;否则,检测框移至下一个像素:(a)(Δx<sub>u1</sub>·Δx<sub>u2</sub><0)且|Δx<sub>u1</sub>+Δx<sub>u2</sub>|≤DELTA且(Δy<sub>l1</sub>·Δy<sub>l2</sub><0)且|Δy<sub>l1</sub>+Δy<sub>l2</sub>|≤DELTA;(b)(Δx<sub>u1</sub>·Δx<sub>u2</sub><0)且|Δx<sub>u1</sub>+Δx<sub>u2</sub>|≤DELTA且(Δy<sub>r1</sub>·Δy<sub>r2</sub><0)且|Δy<sub>r1</sub>+Δy<sub>r2</sub>|≤DELTA;(c)(Δx<sub>d1</sub>·Δx<sub>d2</sub><0)且|Δx<sub>d1</sub>+Δx<sub>d2</sub>|≤DELTA且(Δy<sub>r1</sub>·Δy<sub>r2</sub><0)且|Δy<sub>l1</sub>+Δy<sub>l2</sub>|≤DELTA;(d)(Δx<sub>d1</sub>·Δx<sub>d2</sub><0)且|Δx<sub>d1</sub>+Δx<sub>d2</sub>|≤DELTA且(Δy<sub>r1</sub>·Δy<sub>r2</sub><0)且|Δy<sub>r1</sub>+Δy<sub>r2</sub>|≤DELTA;步骤五、对上一步检测出的十字交叉中心点做进一步识别,判断其是否为十字圆环标记:定义检测框内的黑白像素个数比<img file="FDA0000694973530000041.GIF" wi="465" he="142" />其中,M为检测框的半边长,单位为像素,(2M+1)<sup>2</sup>为检测框内像素的总个数;B为检测框内的黑像素个数;对已检测到的十字交叉中心点按BW值进行筛选:设置阈值T,T的取值范围为0.674~1.045,依据检测框覆盖十字圆环标记时,黑白像素个数比的先验信息及实验测试结果确定,有两种情况:BW>T时,检测到一个十字圆环标记,即图像上需要精确检测的点,其中心点是该十字交叉中心点;记录该十字圆环标记点,检测框移至下一个像素;BW≤T时,说明该十字交叉中心点仅仅是十字交叉线的中点,不是十字圆环标记的中点;检测框移至下一个像素;以上所有步骤完成对一个像素的检测,检测框移至下一个像素后,即是开始了一轮新的检测。
地址 710072 陕西省西安市友谊西路127号