发明名称 一种用于热镀锌合金化板的白边检测方法
摘要 本发明涉及一种数字图像处理技术。一种用于热镀锌合金化板的白边检测方法,其特征是:把两个水平对齐的摄像头分别对准带钢的左右两个边缘对带钢进行拍摄,两块图像采集卡通过电缆分别与两个摄像头相连接;工控机通过图象采集卡采集到数字图像后,对图像进行处理,计算出白边参数,将计算得到的白边参数和理想的白边参数相比较,适当调节当前功率设定值;将调节过的功率设定值传送给可编程度控制器PLC,由可编程序控制器PLC重新设定功率加热器的功率值。本发明能准确地测出白边的具体值,对白边参数的变化做出及时响应,缩短过渡长度,从而减少废次品量,提高产品成材率和产品质量。
申请公布号 CN101294945A 申请公布日期 2008.10.29
申请号 CN200710040105.X 申请日期 2007.04.28
申请人 宝山钢铁股份有限公司 发明人 顾华中;俞鸿毅;朱耀江;叶晓松;黄佩杰
分类号 G01N33/20(2006.01);G01N21/84(2006.01);G06T5/40(2006.01);G06T7/60(2006.01) 主分类号 G01N33/20(2006.01)
代理机构 上海科琪专利代理有限责任公司 代理人 郑明辉
主权项 1、一种用于热镀锌合金化板的白边检测方法,其特征是:把两个水平对齐的摄像头分别对准带钢的左右两个边缘对带钢进行拍摄,两块图像采集卡通过电缆分别与两个摄像头相连接;工控机通过图象采集卡采集到数字图像后,对图像进行处理,计算出白边参数,将计算得到的白边参数和理想的白边参数相比较,适当调节当前功率设定值;将调节过的功率设定值传送给可编程度控制器PLC,由可编程序控制器PLC重新设定功率加热器的功率值;白边检测后的图像处理过程是:先进行中值滤波;借鉴直方图法,采用迭代的方法确定阈值,进行阈值变换;再采用Robort边缘检测算子检测图像的白边;确定白边位置;最后获得白边参数;具体步骤如下:第一步、计算图像的直方图H(D)<math><mrow><mi>H</mi><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>lim</mi><mrow><mi>&Delta;D</mi><mo>&RightArrow;</mo><mn>0</mn></mrow></munder><mfrac><mrow><mi>A</mi><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>-</mo><mi>A</mi><mrow><mo>(</mo><mi>D</mi><mo>+</mo><mi>&Delta;D</mi><mo>)</mo></mrow></mrow><mi>&Delta;D</mi></mfrac><mo>=</mo><mo>-</mo><mfrac><mi>d</mi><mi>dD</mi></mfrac><mi>A</mi><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>式(1)中,D表示灰度级,A(D)表示图像中灰度值大于D的面积;第二步、对图像f(x,y)采用3×3中值滤波预处理,<math><mrow><mfenced open='[' close=']'><mtable><mtr><mtd><mi>D</mi><mn>1</mn></mtd><mtd><mi>D</mi><mn>2</mn></mtd><mtd><mi>D</mi><mn>3</mn></mtd></mtr><mtr><mtd><mi>D</mi><mn>4</mn></mtd><mtd><mi>D</mi><mn>5</mn></mtd><mtd><mi>D</mi><mn>6</mn></mtd></mtr><mtr><mtd><mi>D</mi><mn>7</mn></mtd><mtd><mi>D</mi><mn>8</mn></mtd><mtd><mi>D</mi><mn>9</mn></mtd></mtr></mtable></mfenced><mo>&DoubleRightArrow;</mo><mi>D</mi><mn>5</mn><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mn>9</mn></munderover><mi>Di</mi></mrow><mn>9</mn></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>按式(2),即图像中任意一点的灰度值由该点与相邻8个点的均值代替;第三步、借鉴直方图的结果,采用迭代的方法取得最佳的阈值,将图像二值化以分割背景,算法如下:利用式(1)的结果,令:Tmax=Max{H(Di)|H(Di)>0}Tmin=Min{H(Di)|H(Di)>0}1)求出图像中的最小和最大的灰度值Tmax和Tmin,令初始阈值为:<math><mrow><msub><mi>T</mi><mn>0</mn></msub><mo>=</mo><mfrac><mrow><msub><mi>T</mi><mi>max</mi></msub><mo>+</mo><msub><mi>T</mi><mi>min</mi></msub></mrow><mn>2</mn></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>2)根据阈值Tk(k是迭代次数,初始为0)将图像分割成目标和背景两部分,求出两部分的平均灰度值Zf(前景灰度)和Zb(背景灰度):<math><mrow><mi>Zf</mi><mo>=</mo><mfrac><mrow><munder><mi>&Sigma;</mi><mrow><mi>z</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&le;</mo><msub><mi>T</mi><mi>k</mi></msub></mrow></munder><mi>Z</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&times;</mo><mi>N</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mrow><munder><mi>&Sigma;</mi><mrow><mi>z</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&le;</mo><msub><mi>T</mi><mi>k</mi></msub></mrow></munder><mi>N</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow><math><mrow><mi>Zb</mi><mo>=</mo><mfrac><mrow><munder><mi>&Sigma;</mi><mrow><mi>z</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&le;</mo><msub><mi>T</mi><mi>k</mi></msub></mrow></munder><mi>Z</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&times;</mo><mi>N</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mrow><munder><mi>&Sigma;</mi><mrow><mi>z</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&le;</mo><msub><mi>T</mi><mi>k</mi></msub></mrow></munder><mi>N</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>式中Z(x,y)是图像上(I,j)点的灰度值,N(I,j)是(I,j)点的权重系数,这里等于同一灰度值的像素点的个数;3)求出新的阈值:<math><mrow><msub><mi>T</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mfrac><mrow><msub><mi>Z</mi><mi>f</mi></msub><mo>+</mo><msub><mi>Z</mi><mi>b</mi></msub></mrow><mn>2</mn></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>4)如果Tk+1==Tk,或者迭代次数大于规定的次数,则程序结束,否则K←K+1,转步骤2);5)以Tk为阀值变换图像,然后逐行从外向里记录第一个像素大于0的点的位置POSd作为分割点位置;第四步、采用Roberts边缘检测算子为模板与图像作卷积处理,以突出带钢的边部特征,即白边;Roberts边缘检测算子由下面的公式给出:<math><mrow><mi>g</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><msup><mrow><mo>{</mo><msup><mrow><mo>[</mo><msqrt><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></msqrt><mo>-</mo><msqrt><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>y</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></msqrt><mo>]</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>[</mo><msqrt><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></msqrt><mo>-</mo><msqrt><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>y</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></msqrt><mo>]</mo></mrow><mn>2</mn></msup><mo>}</mo></mrow><mrow><mn>1</mn><mo>/</mo><mn>2</mn></mrow></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>其中f(x,y)是具有整数像素坐标的输入图像;第五步、确定白边位置,利用第四步所计算的结果,计算相邻10个像素灰度变化率的和,灰度变化率和的最大值即可作为白边和正常带钢表面的分界线;按下面公式得到白边位置pos:pos=n+5;其中<math><mrow><mrow><mi>n</mi><mo>=</mo><mi>min</mi><mo>{</mo><mi>n</mi><mo>|</mo><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mi>n</mi></mrow><mrow><mi>n</mi><mo>+</mo><mn>10</mn></mrow></munderover><mi>PixelValue</mi><mo>[</mo><mi>i</mi><mo>]</mo><mo>)</mo></mrow><mo>&lt;</mo><mi>N</mi><mo>}</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>若<math><mrow><mi>min</mi><mo>{</mo><mi>n</mi><mo>|</mo><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mi>n</mi></mrow><mrow><mi>n</mi><mo>+</mo><mn>10</mn></mrow></munderover><mi>PixelValue</mi><mo>[</mo><mi>i</mi><mo>]</mo><mo>)</mo></mrow><mo>&lt;</mo><mi>N</mi><mo>}</mo></mrow>不存在,则当前不存在白边;式中:pos为所求的白边量,n为灰度变化最大的点,N为经验值;第六步、获得白边参数,按照单个像素值与实际长度的比例,结合上面算出的白边位置,就可以算出白边的宽度,单个像素值与实际长度的比例K按下面公式得到:K=实际宽度*放大率/图像宽度(单位:像素) (9)白边宽度w=(POSd-pos)*K (10)
地址 201900上海市宝山区富锦路果园