发明名称 克服尺寸和姿态影响的水果内部品质信息采集方法及装置
摘要 本发明公开了一种克服尺寸和姿态影响的水果内部品质信息采集方法及装置。皮带环绕在主、被动轮上,编码器与主动轮相连,对照式光电开关安装在皮带两侧,升降电移台和检测光源与检测器悬挂在皮带上方;检测对象放置在多个托盘上;摄像机分别与对照式光电开关和计算机相连,升降、旋转电移台分别通过升降、旋转电移台控制器与计算机相连,编码器连接在计算机上;旋转电移台安装在升降电移台下方,检测光源与检测器安装在旋转电移台旋转轴上,并与计算机连接。采用机器视觉方法检测出检测对象的大小、姿态和形心位置,控制升降电移台和旋转电移台移动,在检测对象到达检测光源与检测器轴线时采集光谱数据,保证光谱采集位置的一致性,提高检测精度。
申请公布号 CN102519964B 申请公布日期 2013.11.13
申请号 CN201110417958.7 申请日期 2011.12.14
申请人 浙江大学 发明人 应义斌;饶秀勤;谢丽娟
分类号 G01N21/84(2006.01)I;G01N21/01(2006.01)I 主分类号 G01N21/84(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 林怀禹
主权项 1.一种克服尺寸和姿态影响的水果内部品质信息采集方法,其特征在于:主动轮(11)在外部动力带动下沿顺时针方向旋转,带动编码器(10)运转,并通过皮带(13)带动被动轮(14)一起旋转,放置在皮带(13)上的托盘(2)带动检测对象(4)一起向右运动;当放有检测对象(4)的托盘(2)到达对照式光电开关(12)所在的位置时,对照式光电开关(12)产生触发脉冲,触发摄像机(3)拍摄图像,摄像机(3)将拍摄的图像输入计算机(1),计算机(1)通过图像处理后,控制升降电移台(5)和旋转电移台(6)以控制检测光源与检测器(9)的姿态,完成检测对象(4)的光谱采集;计算机(1)进行图像处理后控制升降电移台(5)和旋转电移台(6)的姿态的方法如下:以旋转电移台(6)的旋转中心为原点、以皮带(13)运动方向为X轴建立直角坐标系XOY,其长度单位按摄像机(3)的分辨率设置;设编码器(10)的脉冲间隔对应皮带(13)移动间距为S;记录检测光源与检测器(9)初始中心高度H<sub>D0</sub>和检测光源与检测器(9)轴线L与X轴初始夹角为θ<sub>D0</sub>;记录摄像机(3)的中心位置为(x<sub>C</sub>,y<sub>C</sub>);对摄像机(3)拍摄的图像经二值分割、滤波和边缘检测后,得到检测对象(4)的边界,对边界点采用最小外接矩形法方法计算横径和纵径,并在得到最小外接矩形时,记下旋转角度;具体方法如下:建立一个动态数组Edge,其长度等于检测对象(4)的边界点的数目NE,将检测对象(4)的边界点全部放入数组Edge中;1)计算检测对象4的形心位置(x<sub>F</sub>,y<sub>F</sub>):<maths num="0001"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>x</mi><mi>F</mi></msub><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>NE</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>x</mi><mi>i</mi></msub></mrow><mi>NE</mi></mfrac></mtd></mtr><mtr><mtd><msub><mi>y</mi><mi>F</mi></msub><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>NE</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>y</mi><mi>i</mi></msub></mrow><mi>NE</mi></mfrac></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths>2)将检测对象(4)的边界点全部减去检测对象(4)的形心位置(x<sub>F</sub>,y<sub>F</sub>),将检测对象(4)的形心位置(x<sub>F</sub>,y<sub>F</sub>)加上摄像机(3)的中心位置(x<sub>C</sub>,y<sub>C</sub>)后得到(x<sub>F</sub>+x<sub>C</sub>,y<sub>F</sub>+y<sub>C</sub>),成为检测对象(4)在直角坐标系XOY中的坐标(x<sub>FT</sub>,y<sub>FT</sub>);3)定义变量XLeft,XRight,YTop,YBottom,MinSita;定义变量MinArea,并赋初值为计算机所能表示的最大值;分别设置XLeft,XRight,YTop,YBottom为1,-1,1,-1;4)按照一定的角度间隔θ<sub>j</sub>对边界数据Edge中的一个点按公式(2)计算,得到旋转后新的坐标点:<maths num="0002"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msubsup><mi>x</mi><mi>i</mi><mo>&prime;</mo></msubsup><mo>=</mo><msub><mi>x</mi><mi>i</mi></msub><mi>cos</mi><msub><mi>&theta;</mi><mi>j</mi></msub><mo>+</mo><msub><mi>y</mi><mi>i</mi></msub><mi>sin</mi><msub><mi>&theta;</mi><mi>j</mi></msub></mtd></mtr><mtr><mtd><msubsup><mi>y</mi><mi>i</mi><mo>&prime;</mo></msubsup><mo>=</mo><msub><mi>x</mi><mi>i</mi></msub><mi>sin</mi><msub><mi>&theta;</mi><mi>j</mi></msub><mo>+</mo><msub><mi>y</mi><mi>i</mi></msub><mi>cos</mi><msub><mi>&theta;</mi><mi>j</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>式中:x<sub>i</sub>,y<sub>i</sub>—边界数据Edge中的某一点的横坐标和纵坐标,i=1,2,…,EdgeTotalx′<sub>i</sub>,y′<sub>i</sub>—边界数据Edge中的某一点旋转后的横坐标和纵坐标θ<sub>j</sub>—旋转角度,j=1,2,…,MR,MR为旋转次数,<img file="FDA00003299448300022.GIF" wi="211" he="118" />5)将x′<sub>i</sub>,y′<sub>i</sub>与XLeft,XRight,YTop,YBottom分别比较,如果x′<sub>i</sub>大于XRight,则将x′<sub>i</sub>的值存放到XRight变量中,如果x′<sub>i</sub>小于XLeft,则将x′<sub>i</sub>的值存放到XLeft变量中;如果y′<sub>i</sub>大于YTop,则将y′<sub>i</sub>的值存放到YTop变量中,如果y′<sub>i</sub>小于YBottom,则将y′<sub>i</sub>的值存放到YBottom变量中;6)在边界数据Edge取下一点,重复步骤4)和步骤5),直到边界数据Edge中的每一点都完成;7)面积计算与比较:记YTop-YBottom为D1,记XRight-XLef为D2,D1与D2的乘积为AreaCurrent;如果AreaCurrent小于MinArea,则将AreaCurrent记录到MinArea,再判断D1和D2的大小,如果D1&lt;D2,则将D1记录到变量DShort中,D2记录到变量DLong中,90-θ<sub>j</sub>记录到变量MinSita中;如果D1≥D2,则将D2记录到变量DShort中,D1记录到变量DLong中,θ<sub>j</sub>记录到变量MinSita中;8)将j从1到MR逐点改变,以改变角度间隔θ<sub>j</sub>,重复步骤4)~7);执行完成后,DShort为检测对象(4)的横径,DLong为检测对象(4)的纵径,MinSita为检测对象(4)短轴与X轴夹角θ<sub>F</sub>;检测对象(4)对应的检测光源与检测器(9)中心高度H<sub>D</sub><maths num="0003"><![CDATA[<math><mrow><msub><mi>H</mi><mi>D</mi></msub><mo>=</mo><msqrt><msup><mi>DShort</mi><mn>2</mn></msup><mo>-</mo><msup><mi>d</mi><mn>2</mn></msup></msqrt><mo>/</mo><mn>2</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths>d—托盘2的内径计算升降电移台(5)升降值ΔH:ΔH=H<sub>D</sub>-H<sub>D0</sub>   (4)当前检测对象(4)对应的检测光源与检测器(9)轴线L与X轴夹角θ<sub>D</sub>:θ<sub>D</sub>=θ<sub>F</sub>   (5)计算旋转电移台(6)的旋转角度Δθ:Δθ=θ<sub>D</sub>-θ<sub>D0</sub>   (6)计算检测对象(4)形心与检测光源与检测器(9)轴线L共线所需的触发脉冲数量P:<img file="FDA00003299448300031.GIF" wi="1887" he="163" />在计算机内部设置一个脉冲计数器PC,其初始值等于P,之后,计算机每采集1幅图像,脉冲计数器PC的值减1;当检测对象(4)进入到检测光源与检测器(9)回转圆半径区域内时,计算机通过升降电移台控制器(4)和旋转电移台控制器(8)控制升降电移台(5)和旋转电移台(6)分别升降ΔH和旋转Δθ;脉冲计数器PC值减到0时,计算机启动检测光源与检测器(9),采集光谱数据;然后计算机再通过升降电移台控制器(7)和旋转电移台控制器(8)控制升降电移台(5)和旋转电移台(6)回到初始位置。
地址 310027 浙江省杭州市西湖区浙大路38号