发明名称 一种过滤袋自动贴卡板方法
摘要 一种过滤袋自动贴卡板方法包含如下步骤:首先通过计算图像全局的纵向一阶导数的积分投影,获取前边缘的纵向粗略位置,通过计算图像全局的横向一阶导数的积分投影,获取左、右边缘的横向粗略位置;然后通过计算前边缘附近两处局部的纵向一阶导数,获取前边缘上两点的精确位置;通过计算左边缘附近两处局部的横向一阶导数,获取左边缘上两点的精确位置;通过计算得出过滤袋粘贴位置在图像中的精确标注;最后给出过滤袋的偏转角度。该方法充分利用计算机快速计算的优势,通过视觉影像系统实时获取过滤袋的精确位置,然后驱动机器人抓取卡板并运动到相应位置,从而实现在过滤袋上的快速粘贴。
申请公布号 CN105335961A 申请公布日期 2016.02.17
申请号 CN201510449765.8 申请日期 2015.07.28
申请人 桐乡市赛弗环保科技有限公司 发明人 孙成磊;王宪保;臧济文;吴国良
分类号 G06T7/00(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 北京科亿知识产权代理事务所(普通合伙) 11350 代理人 汤东凤
主权项 一种过滤袋自动贴卡板方法,其特征在于,所述卡板方法包含如下步骤:步骤一:获取过滤袋的实时图像G;步骤二:计算过滤袋前边缘的纵向粗略位置,具体过程如下:(2.1)计算图像的纵向一阶导数的积分投影,计算公式为<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>S</mi><mi>j</mi></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><mrow><mo>(</mo><msub><mi>I</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msub><mi>I</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>,</mo><mn>0</mn><mo>&lt;</mo><mi>j</mi><mo>&lt;</mo><mi>N</mi></mrow>]]></math><img file="FDA0000768783190000011.GIF" wi="680" he="135" /></maths>其中j为纵坐标,N为图像的高度,i为横坐标,M为图像的宽度,I<sub>i,j</sub>表示图像G中坐标(i,j)处的像素值;(2.2)计算纵向积分投影的最大值,计算公式为S<sub>Max</sub>=Max({S<sub>j</sub>}),0<j<N则S<sub>Max</sub>所对应的j值即为过滤袋前边缘的纵向粗略位置H,Max({S<sub>j</sub>})为求取序列{S<sub>j</sub>}的最大值;步骤三:计算过滤袋左、右边缘的横向粗略位置,具体过程如下:(3.1)计算图像的横向一阶导数的积分投影,计算公式为<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>T</mi><mi>i</mi></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mrow><mo>(</mo><msub><mi>I</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msub><mi>I</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow><mo>,</mo><mn>0</mn><mo>&lt;</mo><mi>i</mi><mo>&lt;</mo><mi>M</mi></mrow>]]></math><img file="FDA0000768783190000012.GIF" wi="662" he="143" /></maths>其中j为纵坐标,N为图像的高度,i为横坐标,M为图像的宽度;(3.2)计算横向积分投影的最大值,计算公式为W<sub>L</sub>=Max({T<sub>i</sub>}),0<i<M则W<sub>L</sub>所对应的i值即为过滤袋左边缘的横向粗略位置;(3.3)计算横向积分投影的最小值,计算公式为W<sub>R</sub>=Min({T<sub>i</sub>}),0<i<M则W<sub>R</sub>所对应的i值即为过滤袋右边缘的横向粗略位置,Min({T<sub>i</sub>})为求取序列{T<sub>i</sub>}的最小值;步骤四:在过滤袋前边缘的纵向粗略位置的左右两边寻找两个点,作为过滤袋前边缘的精确位置,计算过程为:(4.1)计算过滤袋前边缘中心的横向粗略位置W<sub>C</sub>,公式为W<sub>C</sub>=(W<sub>R</sub>+W<sub>L</sub>)/2(4.2)分别以坐标(W<sub>C</sub>+k<sub>1</sub>,H)和(W<sub>C</sub>‑k<sub>1</sub>,H)为中心,在纵向2×L+1的范围内,计算纵向一阶导数,计算公式为<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><msup><mi>S</mi><mrow><msub><mi>W</mi><mi>C</mi></msub><mo>+</mo><msub><mi>k</mi><mn>1</mn></msub></mrow></msup><mi>j</mi></msub><mo>=</mo><msub><mi>I</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msub><mi>I</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><mi>i</mi><mo>=</mo><msub><mi>W</mi><mi>C</mi></msub><mo>+</mo><msub><mi>k</mi><mn>1</mn></msub><mo>,</mo><mi>H</mi><mo>-</mo><mi>L</mi><mo>&le;</mo><mi>j</mi><mo>&le;</mo><mi>H</mi><mo>+</mo><mi>L</mi></mrow>]]></math><img file="FDA0000768783190000021.GIF" wi="997" he="87" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><msup><mi>S</mi><mrow><msub><mi>W</mi><mi>C</mi></msub><mo>-</mo><msub><mi>k</mi><mn>1</mn></msub></mrow></msup><mi>j</mi></msub><mo>=</mo><msub><mi>I</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msub><mi>I</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><mi>i</mi><mo>=</mo><msub><mi>W</mi><mi>C</mi></msub><mo>-</mo><msub><mi>k</mi><mn>1</mn></msub><mo>,</mo><mi>H</mi><mo>-</mo><mi>L</mi><mo>&le;</mo><mi>j</mi><mo>&le;</mo><mi>H</mi><mo>+</mo><mi>L</mi></mrow>]]></math><img file="FDA0000768783190000022.GIF" wi="998" he="78" /></maths>其中i为横坐标,j为纵坐标,k<sub>1</sub>和L为根据过滤袋大小和允许倾斜角度设置的参数;(4.3)计算纵向一阶导数序列的最大值,并把其位置设置为前边缘上两点的精确位置。计算公式为<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><msup><mi>S</mi><mrow><msub><mi>W</mi><mi>C</mi></msub><mo>+</mo><msub><mi>k</mi><mn>1</mn></msub></mrow></msup><mrow><mi>M</mi><mi>a</mi><mi>x</mi></mrow></msub><mo>=</mo><mi>M</mi><mi>a</mi><mi>x</mi><mrow><mo>(</mo><mo>{</mo><msub><msup><mi>S</mi><mrow><msub><mi>W</mi><mi>C</mi></msub><mo>+</mo><msub><mi>k</mi><mn>1</mn></msub></mrow></msup><mi>j</mi></msub><mo>}</mo><mo>)</mo></mrow><mo>,</mo><mi>H</mi><mo>-</mo><mi>L</mi><mo>&le;</mo><mi>j</mi><mo>&le;</mo><mi>H</mi><mo>+</mo><mi>L</mi></mrow>]]></math><img file="FDA0000768783190000023.GIF" wi="933" he="103" /></maths><maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><msup><mi>S</mi><mrow><msub><mi>W</mi><mi>C</mi></msub><mo>-</mo><msub><mi>k</mi><mn>1</mn></msub></mrow></msup><mrow><mi>M</mi><mi>a</mi><mi>x</mi></mrow></msub><mo>=</mo><mi>M</mi><mi>a</mi><mi>x</mi><mrow><mo>(</mo><mo>{</mo><msub><msup><mi>S</mi><mrow><msub><mi>W</mi><mi>C</mi></msub><mo>-</mo><msub><mi>k</mi><mn>1</mn></msub></mrow></msup><mi>j</mi></msub><mo>}</mo><mo>)</mo></mrow><mo>,</mo><mi>H</mi><mo>-</mo><mi>L</mi><mo>&le;</mo><mi>j</mi><mo>&le;</mo><mi>H</mi><mo>+</mo><mi>L</mi></mrow>]]></math><img file="FDA0000768783190000024.GIF" wi="933" he="103" /></maths>则<img file="FDA0000768783190000025.GIF" wi="180" he="78" />对应的j值即为前边缘右边点的纵坐标H<sub>QR</sub>,<img file="FDA0000768783190000026.GIF" wi="183" he="78" />对应的j值即为前边缘左边点的纵坐标H<sub>QL</sub>;步骤五:在过滤袋左边缘的横向粗略位置的上下两边寻找两个点,作为过滤袋左边缘的精确位置,计算过程为:(5.1)在过滤袋左边缘粗略位置处设置两参考点,其坐标分别为(W<sub>L</sub>,H+k<sub>2</sub>)、(W<sub>L</sub>,H+k<sub>3</sub>),其中k<sub>2</sub>、k<sub>3</sub>为根据过滤袋大小和允许倾斜角度设置的参数;(5.2)分别以坐标(W<sub>L</sub>,H+k<sub>2</sub>)和(W<sub>L</sub>,H+k<sub>3</sub>)为中心,在横向2×L+1的范围内,计算横向一阶导数,计算公式为<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msub><msup><mi>S</mi><mrow><mi>H</mi><mo>+</mo><msub><mi>k</mi><mn>2</mn></msub></mrow></msup><mi>i</mi></msub><mo>=</mo><msub><mi>I</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msub><mi>I</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow></msub><mo>,</mo><msub><mi>W</mi><mi>L</mi></msub><mo>-</mo><mi>L</mi><mo>&le;</mo><mi>i</mi><mo>&le;</mo><msub><mi>W</mi><mi>L</mi></msub><mo>+</mo><mi>L</mi><mo>,</mo><mi>j</mi><mo>=</mo><mi>H</mi><mo>+</mo><msub><mi>k</mi><mn>2</mn></msub></mrow>]]></math><img file="FDA0000768783190000027.GIF" wi="988" he="87" /></maths><maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msub><msup><mi>S</mi><mrow><mi>H</mi><mo>+</mo><msub><mi>k</mi><mn>3</mn></msub></mrow></msup><mi>i</mi></msub><mo>=</mo><msub><mi>I</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msub><mi>I</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow></msub><mo>,</mo><msub><mi>W</mi><mi>L</mi></msub><mo>-</mo><mi>L</mi><mo>&le;</mo><mi>i</mi><mo>&le;</mo><msub><mi>W</mi><mi>L</mi></msub><mo>+</mo><mi>L</mi><mo>,</mo><mi>j</mi><mo>=</mo><mi>H</mi><mo>+</mo><msub><mi>k</mi><mn>3</mn></msub></mrow>]]></math><img file="FDA0000768783190000031.GIF" wi="988" he="79" /></maths>(5.3)计算横向一阶导数序列的最大值,并把其位置设置为左边缘上两点的精确位置,计算公式为<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msub><msup><mi>S</mi><mrow><mi>H</mi><mo>+</mo><msub><mi>k</mi><mn>2</mn></msub></mrow></msup><mrow><mi>M</mi><mi>a</mi><mi>x</mi></mrow></msub><mo>=</mo><mi>M</mi><mi>a</mi><mi>x</mi><mrow><mo>(</mo><mo>{</mo><msub><msup><mi>S</mi><mrow><mi>H</mi><mo>+</mo><msub><mi>k</mi><mn>2</mn></msub></mrow></msup><mi>i</mi></msub><mo>}</mo><mo>)</mo></mrow><mo>,</mo><msub><mi>W</mi><mi>L</mi></msub><mo>-</mo><mi>L</mi><mo>&le;</mo><mi>i</mi><mo>&le;</mo><msub><mi>W</mi><mi>L</mi></msub><mo>+</mo><mi>L</mi></mrow>]]></math><img file="FDA0000768783190000032.GIF" wi="918" he="102" /></maths><maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><msub><msup><mi>S</mi><mrow><mi>H</mi><mo>+</mo><msub><mi>k</mi><mn>3</mn></msub></mrow></msup><mrow><mi>M</mi><mi>a</mi><mi>x</mi></mrow></msub><mo>=</mo><mi>M</mi><mi>a</mi><mi>x</mi><mrow><mo>(</mo><mo>{</mo><msub><msup><mi>S</mi><mrow><mi>H</mi><mo>+</mo><msub><mi>k</mi><mn>3</mn></msub></mrow></msup><mi>i</mi></msub><mo>}</mo><mo>)</mo></mrow><mo>,</mo><msub><mi>W</mi><mi>L</mi></msub><mo>-</mo><mi>L</mi><mo>&le;</mo><mi>i</mi><mo>&le;</mo><msub><mi>W</mi><mi>L</mi></msub><mo>+</mo><mi>L</mi></mrow>]]></math><img file="FDA0000768783190000033.GIF" wi="926" he="103" /></maths>则<img file="FDA0000768783190000034.GIF" wi="168" he="77" />对应的i值即为左边缘上边点的横坐标W<sub>LA</sub>,<img file="FDA0000768783190000035.GIF" wi="171" he="78" />对应的i值即为左边缘下边点的横坐标W<sub>LB</sub>;步骤六:若产品要求粘贴卡板的中心位置到前边缘的距离为V<sub>1</sub>,到左边缘的距离为V<sub>2</sub>,则其位置坐标(X,Y)的计算公式为:<maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><mi>X</mi><mo>=</mo><msub><mi>V</mi><mn>2</mn></msub><mo>-</mo><mfrac><mrow><msub><mi>b</mi><mn>2</mn></msub><mo>-</mo><msub><mi>b</mi><mn>1</mn></msub></mrow><mrow><msub><mi>a</mi><mn>2</mn></msub><mo>-</mo><msub><mi>a</mi><mn>1</mn></msub></mrow></mfrac></mrow>]]></math><img file="FDA0000768783190000036.GIF" wi="333" he="134" /></maths><maths num="0012" id="cmaths0012"><math><![CDATA[<mrow><mi>Y</mi><mo>=</mo><msub><mi>V</mi><mn>1</mn></msub><mo>+</mo><msub><mi>a</mi><mn>1</mn></msub><mo>&times;</mo><mfrac><mrow><msub><mi>b</mi><mn>2</mn></msub><mo>-</mo><msub><mi>b</mi><mn>1</mn></msub></mrow><mrow><msub><mi>a</mi><mn>1</mn></msub><mo>-</mo><msub><mi>a</mi><mn>2</mn></msub></mrow></mfrac><mo>+</mo><msub><mi>b</mi><mn>1</mn></msub></mrow>]]></math><img file="FDA0000768783190000037.GIF" wi="477" he="140" /></maths>其中<maths num="0013" id="cmaths0013"><math><![CDATA[<mrow><msub><mi>a</mi><mn>1</mn></msub><mo>=</mo><mfrac><mrow><msub><mi>H</mi><mrow><mi>Q</mi><mi>R</mi></mrow></msub><mo>-</mo><msub><mi>H</mi><mrow><mi>Q</mi><mi>L</mi></mrow></msub></mrow><mrow><mn>2</mn><msub><mi>k</mi><mn>1</mn></msub></mrow></mfrac></mrow>]]></math><img file="FDA0000768783190000038.GIF" wi="325" he="143" /></maths><maths num="0014" id="cmaths0014"><math><![CDATA[<mrow><msub><mi>b</mi><mn>1</mn></msub><mo>=</mo><msub><mi>H</mi><mrow><mi>Q</mi><mi>R</mi></mrow></msub><mo>-</mo><mfrac><mrow><msub><mi>H</mi><mrow><mi>Q</mi><mi>R</mi></mrow></msub><mo>-</mo><msub><mi>H</mi><mrow><mi>Q</mi><mi>L</mi></mrow></msub></mrow><mrow><mn>2</mn><msub><mi>k</mi><mn>1</mn></msub></mrow></mfrac><mo>&times;</mo><mrow><mo>(</mo><msub><mi>W</mi><mi>C</mi></msub><mo>+</mo><msub><mi>k</mi><mn>1</mn></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000768783190000039.GIF" wi="676" he="142" /></maths><maths num="0015" id="cmaths0015"><math><![CDATA[<mrow><msub><mi>a</mi><mn>2</mn></msub><mo>=</mo><mfrac><mrow><msub><mi>k</mi><mn>3</mn></msub><mo>-</mo><msub><mi>k</mi><mn>2</mn></msub></mrow><mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>B</mi></mrow></msub><mo>-</mo><msub><mi>W</mi><mrow><mi>L</mi><mi>A</mi></mrow></msub></mrow></mfrac></mrow>]]></math><img file="FDA00007687831900000310.GIF" wi="310" he="142" /></maths><maths num="0016" id="cmaths0016"><math><![CDATA[<mrow><msub><mi>b</mi><mn>2</mn></msub><mo>=</mo><mi>H</mi><mo>+</mo><msub><mi>k</mi><mn>2</mn></msub><mo>-</mo><msub><mi>W</mi><mrow><mi>L</mi><mi>A</mi></mrow></msub><mo>&times;</mo><mfrac><mrow><msub><mi>k</mi><mn>3</mn></msub><mo>-</mo><msub><mi>k</mi><mn>2</mn></msub></mrow><mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>B</mi></mrow></msub><mo>-</mo><msub><mi>W</mi><mrow><mi>L</mi><mi>A</mi></mrow></msub></mrow></mfrac></mrow>]]></math><img file="FDA00007687831900000311.GIF" wi="598" he="134" /></maths>步骤七:过滤袋的偏转角度θ为:<img file="FDA00007687831900000312.GIF" wi="604" he="159" />
地址 314511 浙江省嘉兴市桐乡市崇福镇崇福开发区世纪大道北侧