一种基于图像处理的树状节点识别方法与流程

文档序号:12670515阅读:来源:国知局

技术特征:

1.一种基于图像处理的树状节点识别方法,其特征在于包括如下步骤:

步骤1:对像素行进行标记,得到内容行和空白行,多个内容行和空白行构成了树形结构节点行;

步骤2:根据式(3)、(4)和(5)计算得到树形结构节点中内容行的集合O={<tq,bq,>|q=1,2,...,d,tq∈{0,1,…,h-1},bq∈{0,1,…,h-1}}:

tp<bp<tr<br,若r>p且<tp,bp>∈O且<tr,br>∈O (3)

kx=1,若x∈[tq,bq]且kx∈K (4)

bq-tq>Lmin (5)

其中,d表示树形结构节点的数量,tq和bq分别表示第q个树形结构节点在灰度图P中对应位置的像素起始行和结束行的行号,Lmin表示预设的树形结构节点行的高度阈值;

步骤3:计算节点行行高H和第一个节点行首行行号F,具体为:

步骤3.1:根据式(6)和(7)计算树形结构节点中行号连续的内容行行数平均值r:

<mrow> <mi>r</mi> <mo>=</mo> <mfrac> <mrow> <mi>S</mi> <mi>u</mi> <mi>m</mi> </mrow> <mi>d</mi> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <mi>S</mi> <mi>u</mi> <mi>m</mi> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>h</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mi>k</mi> <mi>i</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow>

式中,Sum表示内容行的数量;

步骤3.2:设置树形结构节点行高H和首行行号F的拟合区间分别为和V2=(0,r);

步骤3.3:令行号集合E与空白行数SE的映射集为Efh={e|e=f+h*k,e<Sum,k=1,2,...,d},其中集合Efh表示行高为h、首行序号为f时的行号集合,e表示行序号,表示行号集合Efh中空白行的数量;

步骤3.4:根据式(8)得到行高H和首行行号F:

H=h1,F=f1,若且当时,f1<f2(8)

步骤4:对灰度图P进行树形结构节点行分行,得到映射集L={<lti,lbi>|lti=F+H*(i-1),lbi=F+H*i-1,i=1,2,...,d},其中<lti,lbi>表示第i节点行中像素行行号集合,lti和lbi分别表示第i节点行的首行和末行序号;

步骤5:识别树状节点的阶,具体为:

步骤5.1:设树形结构共有m个层级,层级的边界纵坐标集合LX={lxi|i=0,1,2,...,m},其中lx0表示第1层级的左边界,lx1表示第1层级的右边界,lxm表示第m层级的右边界;

步骤5.2:对所有节点行图标可能存在位置区域进行截图,令集合Lg={<bpq,Repq>|p=1,2,...,d,q=1,2,...,m},Repq={gab|lxq-1<a<lxq,ltp<b<lbp},其中bpq表示图标的行号和层级为p和q,Repq表示第p节点行第q个层级图标区域的截图,gab表示灰度图片P中第a行第b列的像素灰度值;

步骤5.3:对图标集合Lg逐行判断区域内是否存在图标;若第i区域存在图标,则该行的阶度为i。

2.根据权利要求1所述的一种基于图像处理的树状节点识别方法,其特征在于步骤1)对像素行进行标记的具体过程为:

步骤1.1:对树形结构所在的区域进行截图,并将截图进行灰度化,得到灰度图P,其分辨率为w*h;

步骤1.2:令P={Gi|i=0,1,2,...,h-1},Gi={gij|j=0,1,2,...,w-1},其中Gi表示灰度图P的第i行像素集,gij表示灰度图P中第i行第j列像素的灰度值;

步骤1.3:根据式(1)和(2)对Gi(i=0,1,2,…,h-1)进行标记,得到集合K={ki|i=0,1,2,...,h-1}:

<mrow> <msub> <mi>k</mi> <mi>i</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mtable> <mtr> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mfrac> <mn>1</mn> <mi>w</mi> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>w</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msup> <mrow> <mo>(</mo> <msub> <mi>g</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>-</mo> <mover> <msub> <mi>a</mi> <mi>i</mi> </msub> <mo>&OverBar;</mo> </mover> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>&lt;</mo> <mn>30</mn> </mrow> </mtd> </mtr> </mtable> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>e</mi> <mi>l</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <mover> <msub> <mi>a</mi> <mi>i</mi> </msub> <mo>&OverBar;</mo> </mover> <mo>=</mo> <mfrac> <mn>1</mn> <mi>w</mi> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>w</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mi>g</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

式中,表示Gi中像素的平均灰度值,ki表示与Gi对应的标记结果,当ki=1时,称Gi为内容行,ki≠1时为空白行,多个空白行和多个内容行把像素行分成2类;多个内容行和空白行构成了树形结构节点行。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1