发明名称 基于一维图像的投射电容触摸屏ITO电路缺陷检测方法
摘要 本发明提供了一种基于一维图像的投射电容触摸屏ITO电路缺陷检测方法,其特征在于,依次包括一维模板建立阶段和缺陷检测阶段。首先采用三个单元图像进行处理分析以构建标准模板;之后将计算待检测图像的一维图的过参考线点个数,判断其是否与标准模板的一维图的过参考线点个数相等,以确定待检测图像是否含有缺陷。该方法实时性高,具有很高的检测速率和精度。
申请公布号 CN105046695A 申请公布日期 2015.11.11
申请号 CN201510381994.0 申请日期 2015.07.01
申请人 华南理工大学 发明人 全燕鸣;姜长城
分类号 G06T7/00(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 广州市华学知识产权代理有限公司 44245 代理人 梁莹;李卫东
主权项 基于一维图像的投射电容触摸屏ITO电路缺陷检测方法,其特征在于,依次包括一维模板建立阶段和缺陷检测阶段;其中,所述一维模板建立阶段包括如下步骤:第一步,采用线阵相机对基板扫描形成图像;将图像分割成若干个尺寸为N×M的单元图像,各个单元图像上分别包括一个完整的投射电容触摸屏ITO电路;任意选取三个单元图像,并将三个单元图像分别设定为P<sub>1</sub>、P<sub>2</sub>和P<sub>3</sub>;第二步,将P<sub>1</sub>、P<sub>2</sub>和P<sub>3</sub>进行空间对齐;第三步,将P<sub>1</sub>、P<sub>2</sub>和P<sub>3</sub>分别分解为:V<sub>i</sub>=(v<sub>(i,0)</sub>,v<sub>(i,1)</sub>,…,v<sub>(i,M‑1)</sub>),X<sub>i</sub>=(x<sub>(i,0)</sub>,x<sub>(i,1)</sub>,…,x<sub>(i,M‑1)</sub>),Y<sub>i</sub>=(y<sub>(i,0)</sub>,y<sub>(i,1)</sub>,…,y<sub>(i,M‑1)</sub>),其中,i∈(0,N‑1);选取V<sub>i</sub>为目标一维图像,X<sub>i</sub>和Y<sub>i</sub>为参考一维图像;第四步,分别对V<sub>i</sub>、X<sub>i</sub>和Y<sub>i</sub>进行处理和分析,求取其判断样本点矩阵V<sub>ci</sub>、X<sub>ci</sub>与Y<sub>ci</sub>;第五步,判别目标一维图像中是否存在缺陷边缘点,并记录缺陷边缘点的位置坐标;目标一维图像中偶数坐标缺陷边缘点与其左侧奇数坐标缺陷边缘点组成缺陷区间;第六步,利用参考一维图像的元素对目标一维图像的缺陷区间进行修复,完成一维模板的构建;然后i=i+1,并跳至第四步,直至i=M,完成整幅标准模板构建;第七步,将整幅标准模板储存为P<sub>t</sub>,标准模板P<sub>t</sub>的一维图像的分解为:T<sub>i</sub>=(t<sub>(i,0)</sub>,t<sub>(i,1)</sub>,…,t<sub>(i,M‑1)</sub>);所述缺陷检测阶段包括如下步骤:第Ⅰ步,读入待检测图像;第Ⅱ步,将待检测图像与标准模板Pt进行空间对齐,并将待检测图像裁剪为标准模板P<sub>t</sub>的尺寸;第Ⅲ步,将待检测图像的一维图像分解为D<sub>i</sub>=(d<sub>(i,0)</sub>,d<sub>(i,1)</sub>,…,d<sub>(i,M‑1)</sub>);第Ⅳ步,采用Otsu法分别求取T<sub>i</sub>与D<sub>i</sub>在第i行的参考比较点ε<sub>ti</sub>与ε<sub>di</sub>;以参考比较点ε<sub>ti</sub>与ε<sub>di</sub>为灰度基准进行变换得到T<sub>εi</sub>、D<sub>εi</sub>:<maths num="0001" id="cmaths0001"><math><![CDATA[<mfenced open = '{' close = ''><mtable><mtr><mtd><msub><mi>T</mi><mrow><mi>&epsiv;</mi><mi>i</mi></mrow></msub><mo>=</mo><msub><mi>T</mi><mi>i</mi></msub><mo>-</mo><msub><mi>&epsiv;</mi><mrow><mi>t</mi><mi>i</mi></mrow></msub><mi>E</mi><mo>=</mo><mo>(</mo><msub><mi>t</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>0</mn><mo>)</mo></mrow></msub><mo>-</mo><msub><mi>&epsiv;</mi><mrow><mi>t</mi><mi>i</mi></mrow></msub><mo>,</mo><msub><mi>t</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow></msub><mo>-</mo><msub><mi>&epsiv;</mi><mrow><mi>t</mi><mi>i</mi></mrow></msub><mo>,</mo><mo>...</mo><mo>,</mo><msub><mi>t</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msub><mo>-</mo><msub><mi>&epsiv;</mi><mrow><mi>t</mi><mi>i</mi></mrow></msub><mo>)</mo></mtd></mtr><mtr><mtd><msub><mi>D</mi><mrow><mi>&epsiv;</mi><mi>i</mi></mrow></msub><mo>=</mo><msub><mi>D</mi><mi>i</mi></msub><mo>-</mo><msub><mi>&epsiv;</mi><mrow><mi>d</mi><mi>i</mi></mrow></msub><mi>E</mi><mo>=</mo><mo>(</mo><msub><mi>d</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>0</mn><mo>)</mo></mrow></msub><mo>-</mo><msub><mi>&epsiv;</mi><mrow><mi>d</mi><mi>i</mi></mrow></msub><mo>,</mo><msub><mi>d</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow></msub><mo>-</mo><msub><mi>&epsiv;</mi><mrow><mi>d</mi><mi>i</mi></mrow></msub><mo>,</mo><mo>...</mo><mo>,</mo><msub><mi>d</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msub><mo>-</mo><msub><mi>&epsiv;</mi><mrow><mi>d</mi><mi>i</mi></mrow></msub><mo>)</mo></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000750588930000021.GIF" wi="1047" he="160" /></maths>第Ⅴ步,分别计算T<sub>εli</sub>和D<sub>εli</sub>:<maths num="0002" id="cmaths0002"><math><![CDATA[<mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><mi>T</mi><mrow><mi>&epsiv;</mi><mi>l</mi><mi>i</mi></mrow></msub><mo>=</mo><msub><mi>T</mi><mrow><mi>&epsiv;</mi><mi>i</mi></mrow></msub><mo>&lt;</mo><mo>&lt;</mo><mn>1</mn><mo>=</mo><mrow><mo>(</mo><msub><mi>t</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow></msub><mo>-</mo><msub><mi>&epsiv;</mi><mrow><mi>t</mi><mi>i</mi></mrow></msub><mo>,</mo><mo>...</mo><mo>,</mo><msub><mi>t</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msub><mo>-</mo><msub><mi>&epsiv;</mi><mrow><mi>t</mi><mi>i</mi></mrow></msub><mo>,</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><mi>i</mi><mi>f</mi><mtext> </mtext><msub><mi>t</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></msub><mo>=</mo><msub><mi>&epsiv;</mi><mrow><mi>t</mi><mi>i</mi></mrow></msub><mo>,</mo><mi>t</mi><mi>h</mi><mi>e</mi><mi>n</mi><mtext> </mtext><msub><mi>t</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></msub><mo>=</mo><msub><mi>t</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>D</mi><mrow><mi>&epsiv;</mi><mi>l</mi><mi>i</mi></mrow></msub><mo>=</mo><msub><mi>D</mi><mrow><mi>&epsiv;</mi><mi>i</mi></mrow></msub><mo>&lt;</mo><mo>&lt;</mo><mn>1</mn><mo>=</mo><mrow><mo>(</mo><msub><mi>d</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow></msub><mo>-</mo><msub><mi>&epsiv;</mi><mrow><mi>d</mi><mi>i</mi></mrow></msub><mo>,</mo><mo>...</mo><mo>,</mo><msub><mi>d</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msub><mo>-</mo><msub><mi>&epsiv;</mi><mrow><mi>d</mi><mi>i</mi></mrow></msub><mo>,</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><mi>i</mi><mi>f</mi><mtext> </mtext><msub><mi>d</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></msub><mo>=</mo><msub><mi>&epsiv;</mi><mrow><mi>d</mi><mi>i</mi></mrow></msub><mo>,</mo><mi>t</mi><mi>h</mi><mi>e</mi><mi>n</mi><mtext> </mtext><msub><mi>d</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></msub><mo>=</mo><msub><mi>d</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msub></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000750588930000022.GIF" wi="1475" he="159" /></maths>第Ⅵ步,分别计算T<sub>ni</sub>和D<sub>ni</sub>:<maths num="0003" id="cmaths0003"><math><![CDATA[<mfenced open = '{' close = ''><mtable><mtr><mtd><mrow><msub><mi>T</mi><mrow><mi>n</mi><mi>i</mi></mrow></msub><mo>=</mo><msub><mi>T</mi><mrow><mi>&epsiv;</mi><mi>i</mi></mrow></msub><mo>&times;</mo><msup><msub><mi>T</mi><mrow><mi>&epsiv;</mi><mi>l</mi><mi>i</mi></mrow></msub><mi>T</mi></msup><mo>=</mo><mrow><mo>(</mo><msub><mi>t</mi><mrow><mi>n</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>0</mn><mo>)</mo></mrow></mrow></msub><mo>,</mo><msub><mi>t</mi><mrow><mi>n</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mo>,</mo><mo>...</mo><mo>,</mo><msub><mi>t</mi><mrow><mi>n</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mo>)</mo></mrow><mo>,</mo><mi>i</mi><mi>f</mi><mtext> </mtext><msub><mi>f</mi><mrow><mi>n</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow></mrow></msub><mo>&lt;</mo><mn>0</mn><mo>,</mo><mi>t</mi><mi>h</mi><mi>e</mi><mi>n</mi><mtext> </mtext><msub><mi>t</mi><mrow><mi>n</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>b</mi><mo>)</mo></mrow></mrow></msub><mo>=</mo><mn>0</mn><mo>,</mo><mi>o</mi><mi>r</mi><mtext> </mtext><msub><mi>t</mi><mrow><mi>n</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow></mrow></msub><mo>&gt;</mo><mn>0</mn><mo>,</mo><mi>t</mi><mi>h</mi><mi>e</mi><mi>n</mi><mtext> </mtext><msub><mi>t</mi><mrow><mi>n</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow></mrow></msub><mo>=</mo><mn>1</mn></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>D</mi><mrow><mi>n</mi><mi>i</mi></mrow></msub><mo>=</mo><msub><mi>D</mi><mrow><mi>&epsiv;</mi><mi>i</mi></mrow></msub><mo>&times;</mo><msup><msub><mi>D</mi><mrow><mi>&epsiv;</mi><mi>l</mi><mi>i</mi></mrow></msub><mi>T</mi></msup><mo>=</mo><mrow><mo>(</mo><msub><mi>d</mi><mrow><mi>n</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>0</mn><mo>)</mo></mrow></mrow></msub><mo>,</mo><msub><mi>d</mi><mrow><mi>n</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mo>,</mo><mo>...</mo><mo>,</mo><msub><mi>d</mi><mrow><mi>n</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mo>)</mo></mrow><mo>,</mo><mi>i</mi><mi>f</mi><mtext> </mtext><msub><mi>d</mi><mrow><mi>n</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><mo>&lt;</mo><mn>0</mn><mo>,</mo><mi>t</mi><mi>h</mi><mi>e</mi><mi>n</mi><mtext> </mtext><msub><mi>d</mi><mrow><mi>n</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><mo>=</mo><mn>0</mn><mo>,</mo><mi>o</mi><mi>r</mi><mtext> </mtext><msub><mi>d</mi><mrow><mi>n</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><mo>&gt;</mo><mn>0</mn><mo>,</mo><mi>t</mi><mi>h</mi><mi>e</mi><mi>n</mi><mtext> </mtext><msub><mi>d</mi><mrow><mi>n</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><mo>=</mo><mn>1</mn></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000750588930000023.GIF" wi="1878" he="169" /></maths>第Ⅶ步,统计T<sub>ni</sub>和D<sub>ni</sub>中的值为0的元素数量并得到C<sub>t</sub>和C<sub>d</sub>;判断C<sub>t</sub>和C<sub>d</sub>是否相等:若C<sub>t</sub>=C<sub>d</sub>,则该一维图像中无缺陷边缘点,跳至第Ⅰ步进行下一维图像的检测直至最后一维图像完成检测;若C<sub>t</sub>≠C<sub>d</sub>,则该一维图像中有缺陷边缘点,执行第Ⅷ步;;第Ⅷ步,将T<sub>ni</sub>中值为0点的元素的位置坐标存储到t<sub>k</sub>中,t<sub>k</sub>=(t<sub>k1</sub>,t<sub>k2</sub>,…);将D<sub>ni</sub>中值为0点的元素的位置坐标存储到d<sub>k</sub>中,d<sub>k</sub>=(d<sub>k1</sub>,d<sub>k2</sub>,…);分别将各个t<sub>k</sub>值代入到J<sub>(i,tk)</sub>中进行计算:J<sub>(i,D)</sub>=[t<sub>n(i,tk)</sub>‑p<sub>n(i,dk)</sub>t<sub>n(i,tk)</sub>‑p<sub>n(i,dk+1)</sub>t<sub>n(i,tk)</sub>‑p<sub>n(i,dk‑1)</sub>]=[c<sub>t1</sub> c<sub>t2</sub> c<sub>t3</sub>]计算V<sub>1</sub>=c<sub>t1</sub>&amp;c<sub>t2</sub>&amp;c<sub>t3</sub>,判断V<sub>1</sub>的大小:若V<sub>1</sub>≠0则d(<sub>i,tk</sub>)是缺陷边缘点;第Ⅸ步,记录缺陷边缘点的位置坐标,并形成缺陷区间坐标为(q<sub>d1</sub>,q<sub>d2</sub>),将D<sub>iq</sub>=(d<sub>(i,qd1)</sub>,d<sub>(i,qd2)</sub>)设为1,其他像素设为0,以实现缺陷区间突出显示;跳至第Ⅰ步进行下一维图像的检测直至最后一维图像完成检测。
地址 510640 广东省广州市天河区五山路381号