发明名称 基于图像处理的工件标签在线快速定位方法
摘要 本发明涉及一种基于图像处理的工件标签在线快速定位方法,属于数字图像处理技术领域。本发明首先将原始图像的RGB颜色空间值转换为YUV空间的UU分量灰度值图像,再进一步转换为二值化图像,去噪后,标记连通区域,把连通区域作为候选区域,最后通过计算候选区域的长宽比和面积比来确定车牌区域。本发明能够实现在多种复杂条件下精确定位图像中底色为黄色和蓝色工件标签的区域,计算简单,可实时操作。
申请公布号 CN104021546A 申请公布日期 2014.09.03
申请号 CN201410204071.3 申请日期 2014.05.14
申请人 北京理工大学 发明人 张发平;杨吉彬;阎艳
分类号 G06T7/00(2006.01)I;G06T7/40(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 代理人
主权项 一种基于图像处理的工件标签在线快速定位方法,其特征在于:其具体操作步骤为:步骤1:判断工件标签底色,对于包含有底色为蓝色的工件标签的原始图像进行步骤2的操作,对于包含有底色为黄色的工件标签的原始图像进行步骤3的操作;步骤2:获取原始图像的红、绿、蓝颜色空间值,并使用公式(1)将该原始图像的红绿蓝颜色空间值转换为明亮度、色调和饱和度颜色空间值中的U分量灰度值;<img file="FDA0000505412350000011.GIF" wi="1902" he="161" />其中,(x,y)表示原始图像中像素点的位置坐标;F(x,y)表示原始图像中(x,y)像素点U分量的灰度值;k<sub>1</sub>∈(0,3),k<sub>2</sub>∈(0,2);d<sub>1</sub>(x,y)=b(x,y)‑r(x,y),b(x,y)表示(x,y)像素点RGB颜色空间中的B分量值,r(x,y)表示(x,y)像素点RGB颜色空间中的R分量值;d<sub>2</sub>(x,y)=b(x,y)‑g(x,y),g(x,y)表示(x,y)像素点RGB颜色空间中的G分量值;步骤3:获取原始图像的红、绿、蓝颜色空间值,并使用公式(2)将该原始图像的红绿蓝颜色空间值转换为明亮度、色调和饱和度颜色空间值中的U分量灰度值;<img file="FDA0000505412350000012.GIF" wi="1902" he="166" />步骤4:对于步骤2或步骤3得到的图像U分量的灰度值,通过公式(4)计算灰度值的累加和,并得到一条横坐标为图像U分量的灰度值,纵坐标为灰度值的累加和S(j)的曲线,将其称为S(j)曲线;<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>S</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mi>j</mi></munderover><mi>F</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><mi>j</mi><mo>=</mo><mn>0,1,2</mn><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mn>255</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000505412350000013.GIF" wi="1902" he="144" /></maths>其中,S(j)为灰度值从0到j所有的像素点的数目;F(i)为灰度值为i的像素点的个数;步骤5:通过公式(5)对S(j)做差分运算,用D(j′)记录差分运算的结果;D(j′)=S(j′)‑S(j′‑1) j′=1,2…255 (5)然后用D<sub>max</sub>记录D(j′)中的最大值,用D<sub>min</sub>记录D(j′)中的最小值;进一步找到步骤4得到的S(j)曲线上第一个满足公式(6)的j′值,用J记录该j′值;<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mfrac><mrow><mi>D</mi><mrow><mo>(</mo><msup><mi>j</mi><mo>&prime;</mo></msup><mo>)</mo></mrow></mrow><mrow><msub><mi>D</mi><mi>max</mi></msub><mo>-</mo><msub><mi>D</mi><mi>min</mi></msub></mrow></mfrac><mo>&le;</mo><mi>tan</mi><mfrac><mrow><mn>80</mn><mo>*</mo><mi>&pi;</mi></mrow><mn>180</mn></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000505412350000021.GIF" wi="1902" he="152" /></maths>步骤6:在步骤五的基础上,使用公式(7)对步骤2或步骤3得到的图像U分量的灰度值进行二值化处理,得到二值图像;<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msup><mi>F</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mi>F</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mi>J</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>F</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&lt;</mo><mi>J</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000505412350000022.GIF" wi="1902" he="174" /></maths>其中,F′(x,y)表示图像(x,y)像素点的二值化处理后的结果;步骤7:对步骤6得到的二值图像进行去噪处理,具体过程为:步骤7.1:使用公式(8)对步骤6得到的二值图像进行闭运算操作,所得图像用F<sub>B</sub>表示;<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>F</mi><mi>B</mi></msub><mo>=</mo><mrow><mo>(</mo><msup><mi>F</mi><mo>&prime;</mo></msup><mo>&CirclePlus;</mo><mi>B</mi><mo>)</mo></mrow><mi>&Theta;B</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000505412350000023.GIF" wi="1902" he="83" /></maths>其中,<img file="FDA0000505412350000024.GIF" wi="56" he="57" />为图像处理中的膨胀运算符;Θ为图像处理中的腐蚀运算符;F′为步骤6得到的二值图像;B为结构元素,是一个2行25列矩阵,矩阵元素均为1;步骤7.2:使用公式(9)对步骤7.1得到的图像F<sub>B</sub>进行水平开运算操作,所得图像用F<sub>KH</sub>表示;<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>F</mi><mi>KH</mi></msub><mo>=</mo><mrow><mo>(</mo><msub><mi>F</mi><mi>B</mi></msub><mi>&Theta;C</mi><mo>)</mo></mrow><mo>&CirclePlus;</mo><mi>C</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000505412350000025.GIF" wi="1902" he="83" /></maths>其中,C为结构元素,C为2行20列矩阵,矩阵元素均为1;步骤7.3:使用公式(10)对步骤7.2得到的图像F<sub>KH</sub>进行垂直开运算操作,所得图像用F<sub>KV</sub>表示;<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mi>F</mi><mi>KV</mi></msub><mo>=</mo><mrow><mo>(</mo><msub><mi>F</mi><mi>KH</mi></msub><mi>&Theta;D</mi><mo>)</mo></mrow><mo>&CirclePlus;</mo><mi>D</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000505412350000026.GIF" wi="1902" he="83" /></maths>其中,D为结构元素,D为20行2列矩阵,矩阵元素均为1;步骤8:确定候选区域,具体操作步骤为:步骤8.1:在步骤7得到的去噪处理后的图像上标记连通区域;步骤8.2:在步骤8.1的基础上,将每个连通区域作为候选区域;用T<sub>k</sub>表示候选区域,1≤k≤K,K表示候选区域的数量经过步骤8的操作,得到1个以上的候选区域;步骤9:确定工件标签区域,具体操作步骤为:步骤9.1:当步骤8操作后,得到1个候选区域,则将该候选区域作为工件标签区域;否则,进行步骤9.2的操作;步骤9.2:通过公式(11)和公式(12)计算每个候选区域的长宽比和面积比;R<sub>1</sub>=L/W (11)R<sub>2</sub>=P/A (12)其中,R<sub>1</sub>表示候选区域的长宽比;R<sub>2</sub>表示候选区域的面积比;L为包含候选区域T<sub>k</sub>的最小矩形的长,W为包含候选区域T<sub>k</sub>的最小矩形的宽;P为候选区域T<sub>k</sub>的像素数目,A为包含候选区域T<sub>k</sub>的最小矩形的面积;通过公式(13)计算每个候选区域的值,并将结果为1的候选区域作为工件标签区域;<img file="FDA0000505412350000031.GIF" wi="1902" he="156" />其中,r<sub>1</sub>、r<sub>2</sub>为正实数,其值根据待识别工件标签的长宽比人为设定;经过上述步骤的操作,即可从图像中精确定位出底色为黄色和蓝色待识别工件标签所在区域。
地址 100081 北京市海淀区中关村南大街5号