一种杂粮作物籽粒三轴尺寸快速检测算法的制作方法

文档序号:12303170阅读:464来源:国知局
一种杂粮作物籽粒三轴尺寸快速检测算法的制作方法与工艺

本发明涉及植物颗粒特征参数计算技术领域,具体涉及一种杂粮作物籽粒三轴尺寸快速检测算法。



背景技术:

申请人申请到“十三五”国家重点研发计划“杂粮作物机械收获力学特性研究”,在这个项目中,准确测量杂粮籽粒的三轴尺寸是根本,有了长、宽、高这三个尺寸,才能进一步研究杂粮籽粒的拉伸、压缩、摩擦等力学特性,进而为研究杂粮作物籽粒在机械收获(拨禾、扶禾、切割、输运、脱粒、分离清选、秸秆回收等作业)环节中减小籽粒损失率、破碎率和含杂率提供基础数据,也为杂粮作物收获机械的切割、脱粒、清选等关键部件创新设计以及整机性能优化设计提供数据支持。

目前对杂粮作物三轴尺寸的测量,主要靠人工进行,人利用游标卡尺一个一个测量,费时费力,测量效率低;其次,人根据主观意识判断、测得的三轴尺寸并不能反映杂粮作物真正的三轴尺寸,因为杂粮作物(如荞麦、谷子、高粱、青稞、藜麦、薏米等)本身很小,且外观、形态各异(有的是球体,有的是椎体,有的是三棱体,有的是椭球体,还有外形不规则的),人拿在手里很难凭肉眼确定该籽粒准确的三轴方向,在这种情况下测量,本身就造成了测量误差;第三,即使准确确定了三轴方向,如此小的待测对象(一般为1~5mm),在被游标卡尺夹住后,由于夹持力的大小较难控制(靠人手来控制),难免会造成籽粒受压变形(测量值小于真实值)或游标卡尺不能与籽粒充分接触(测量值大于真实值),这些都会造成测量误差,从而使测量结果与真实值有较大差距。

也有的人借助于显微镜或放大镜进行测量,但仍无法准确确定三轴位置,同时测量效率更低,误差也不会减小。



技术实现要素:

有鉴于此,本发明的目的在于克服现有技术的不足,提供一种杂粮作物籽粒三轴尺寸快速检测算法,以解决现有技术中人工测量带来的杂粮作物籽粒三轴尺寸测量误差大、效率低的问题。

为实现以上目的,本发明采用如下技术方案:

一种杂粮作物籽粒三轴尺寸快速检测算法,包括:

步骤s1、将多个待测杂粮作物籽粒和一枚标准尺寸的硬币平放后置于红色led背光源下,采集待测杂粮作物籽粒和标准尺寸的硬币的投影图像;其中,所述标准尺寸的硬币作为杂粮籽粒尺寸测量的标定物;

步骤s2、读取所述多个待测杂粮作物籽粒的投影图像,并将该投影图像转换为灰度图像;

步骤s3、利用自动阈值法将所述灰度图像转换为二值图像;

步骤s4、去除所述二值图像中的噪点,得到去噪后的二值图像;

步骤s5、获取所述去噪后的二值图像的负片;

步骤s6、将所述多个待测杂粮作物籽粒和标准尺寸的硬币进行标记;

步骤s7、绘制每个待测杂粮作物籽粒的最小外接矩形;

步骤s8、根据所述标准尺寸的硬币,其单位像素所对应的实际尺寸值及所述最小外接矩形的长度像素值和宽度像素值,以得到投影图像下最小外接矩形以毫米为单位的长度尺寸值和宽度尺寸值;其中,待测杂粮作物籽粒的实际长度尺寸值=投影图像下最小外接矩形的长度尺寸值,待测杂粮作物籽粒的实际宽度尺寸值=投影图像下最小外接矩形的宽度尺寸值;

步骤s9、将所述多个待测杂粮作物籽粒和标准尺寸的硬币直线竖直摆放后置于红色led背光源下,采集待测杂粮作物籽粒和标准尺寸的硬币的侧视图像后,返回步骤s2,得到侧视图像下最小外接矩形竖直方向的尺寸值;其中,待测杂粮作物籽粒的实际高度尺寸值=侧视图像下最小外接矩形竖直方向的尺寸值。

优选地,所述步骤s1具体为:将待测杂粮作物籽粒和一枚标准尺寸的硬币平放后置于红色led背光源下,利用摄像头采集待测杂粮作物籽粒的投影图像,其中,所述摄像头的型号为:罗技logitechc930e,分辨率为1920*1080。

优选地,所述步骤s2包括:

步骤s21、利用matlab中的函数f=imread(filename)将所述投影图像读入matlab中,利用matlab中的函数imshow(f)将读入的原始投影图像f显示出来,其中,filename为存入本地的投影图像名;

步骤s22、运用函数f1=rgb2gray(f)将投影图像f由rgb彩色图像转换为灰度图像f1。

优选地,所述步骤s3具体为:利用matlab中的函数f2=im2bw(f1,graythresh(f1))将灰度图像f1转换为二值图像f2。

优选地,所述步骤s4具体为:利用matlab中的函数f3=beareaopen(f2,area)去除所述二值图像f2中的噪点,得到去噪后的二值图像f3;其中,area为一个给定的具体数字,表示一个像素集,小于该像素集的白色区域或噪点将被删除。

优选地,所述步骤s5具体为:利用matlab中的函数f4=imcomplement(f3)得到所述去噪后的二值图像f3的负片f4。

优选地,所述步骤s6具体为:利用matlab中的函数[l,num]=bwlabel(f4)将所述多个待测杂粮作物籽粒进行标记。

优选地,所述步骤s8包括:

步骤s81、计算所述标准尺寸的硬币单位像素所对应的尺寸值c=d/x,其中,d为所述标准尺寸硬币的以毫米为单位的直径尺寸,x为标准尺寸硬币的以像素为单位的直径尺寸;

步骤s82、利用matlab中的函数[xyab]=regionprops(f4,boundingbox)得到所述最小外接矩形长度像素值a和宽度像素值b;其中,x和y表示所述最小外接矩形左上角像素的坐标,舍弃;

步骤s83、投影图像下待测杂粮作物籽粒的长度尺寸值=c*a,待测杂粮作物籽粒的宽度尺寸值=c*b。

优选地,所述步骤s9中将所述标准尺寸的硬币竖直摆放,所述标准尺寸的硬币的圆面垂直于水平面且正对摄像头;待测杂粮作物籽粒的实际高度尺寸值==c*a1,其中,a1为侧视图像下待测杂粮作物籽粒最小外接矩形竖直方向的高度像素值。

优选地,所述标准尺寸的硬币为一元硬币。

本发明采用以上技术方案,至少具备以下有益效果:

由上述技术方案可知,本发明提供的这种杂粮作物籽粒三轴尺寸快速检测算法,由于不需要人工参与,能够实现省时省力、高效的测量;能够实现无损、非接触的测量,避免了人为因素造成的误差;能够实现实时、在线、准确、高精度的测量,可立即得到测量结果;能够不依赖于待测物体的外观形状,对各种形态的小籽粒作物都能进行测量,具有很好的适应性。

另外,本发明提供的这种杂粮作物籽粒三轴尺寸快速检测算法,利用matlab中的函数实现,算法简单,运行时间短,测量效率高。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例提供的投影图像的二值图像;

图2为本发明一实施例提供的投影图像下去噪后的二值图像;

图3为本发明一实施例提供的投影图像下去噪后的二值图像的负片;

图4为本发明一实施例提供的投影图像下标记后的去噪后的二值图像的负片;

图5为本发明一实施例提供的投影图像下多个待测杂粮作物籽粒和标准尺寸硬币的外接矩形;

图6为本发明一实施例提供的侧视图像下去噪后的二值图像;

图7为本发明一实施例提供的侧视图像下去噪后的二值图像的负片;

图8为本发明一实施例提供的侧视图像下标记后的的多个待测杂粮作物籽粒和标准尺寸硬币的外接矩形。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

参见图1~图5(图1~5是以荞麦为例来叙述杂粮籽粒的三轴尺寸测量)。

本发明一实施例提供的一种杂粮作物籽粒三轴尺寸快速检测算法,包括:

步骤s1、将多个待测杂粮作物籽粒和一枚标准尺寸的硬币平放后置于红色led背光源下,采集待测杂粮作物籽粒和标准尺寸的硬币的投影图像;其中,所述标准尺寸的硬币作为杂粮籽粒尺寸测量的标定物;

步骤s2、读取所述多个待测杂粮作物籽粒的投影图像,并将该投影图像转换为灰度图像;

步骤s3、利用自动阈值法将所述灰度图像转换为二值图像;(参见图1)

步骤s4、去除所述二值图像中的噪点,得到去噪后的二值图像;(参见图2)

步骤s5、获取所述去噪后的二值图像的负片;(参见图3)

步骤s6、将所述多个待测杂粮作物籽粒和标准尺寸的硬币进行标记;(参见图4)

步骤s7、绘制每个待测杂粮作物籽粒的最小外接矩形;(参见图5)

步骤s8、根据所述标准尺寸的硬币,其单位像素所对应的实际尺寸值及所述最小外接矩形的长度像素值和宽度像素值,以得到投影图像下最小外接矩形以毫米为单位的长度尺寸值和宽度尺寸值;其中,待测杂粮作物籽粒的实际长度尺寸值=投影图像下最小外接矩形的长度尺寸值,待测杂粮作物籽粒的实际宽度尺寸值=投影图像下最小外接矩形的宽度尺寸值;

步骤s9、将所述多个待测杂粮作物籽粒和标准尺寸的硬币直线竖直摆放后置于红色led背光源下,采集待测杂粮作物籽粒和标准尺寸的硬币的侧视图像后,返回步骤s2,得到侧视图像下最小外接矩形竖直方向的尺寸值(参见图6~8,其中,图6为侧视图像下去噪后的二值图像;图7为侧视图像下去噪后的二值图像的负片;图8为侧视图像下标记后的的多个待测杂粮作物籽粒和标准尺寸硬币的外接矩形。);其中,待测杂粮作物籽粒的实际高度尺寸值=侧视图像下最小外接矩形竖直方向的尺寸值。

需要说明的是,本发明将多个待测杂粮作物籽粒和一枚标准尺寸的硬币平放后置于红色led背光源下,是发明人经过多次反复实践发现的最优图像采集方案。因为将多个待测杂粮作物籽粒曝光在红色led背光源下得到的图像中杂粮籽粒的轮廓最清晰,边界最锐利,更有利于后续算法的运行,据此测量得出的杂粮籽粒的尺寸更精准。

图4中包围待测杂粮作物籽粒图像的矩形只是按照坐标轴方向将待测杂粮作物籽粒图像包围,并非待测杂粮作物籽粒的最小外接矩形,无法精确得到待测杂粮作物籽粒的最长、最短轴长,因此需要对待测杂粮作物籽粒图像进行再处理,绘制最小外接矩形,因为只有最小外接矩形才能准确表达荞麦籽粒的三轴尺寸。

由上述技术方案可知,本发明提供的这种杂粮作物籽粒三轴尺寸快速检测算法,由于不需要人工参与,能够实现省时省力、高效的测量;能够实现无损、非接触的测量,避免了人为因素造成的误差;能够实现实时、在线、准确、高精度的测量,可立即得到测量结果;能够不依赖于待测物体的外观形状,对各种形态的小籽粒作物都能进行测量,具有很好的适应性。

优选地所述步骤s1具体为:将待测杂粮作物籽粒和一枚标准尺寸的硬币平放后置于红色led背光源下,利用摄像头采集待测杂粮作物籽粒的投影图像,其中,所述摄像头的型号为:罗技logitechc930e,分辨率为1920*1080。

优选地,所述步骤s2包括:

步骤s21、利用matlab中的函数f=imread(filename)将所述投影图像读入matlab中,利用matlab中的函数imshow(f)将读入的原始投影图像f显示出来,其中,filename为存入本地的投影图像名;

步骤s22、运用函数f1=rgb2gray(f)将投影图像f由rgb彩色图像转换为灰度图像f1。

需要说明的是,imread是matlab中的图像读取函数,它的作用就是将投影图像读入到matlab中以便进行下一步处理,这里的f代表原始投影图像。imshow函数的作用是把f这个图像矩阵显示在当前屏幕上。本发明中,f代表的投影图像分辨率为1920*1080。

优选地,所述步骤s3具体为:利用matlab中的函数f2=im2bw(f1,graythresh(f1))将灰度图像f1转换为二值图像f2。

可以理解的是,图像采集装置输出的是rgb彩色图像,但是本申请的目的是测量杂粮籽粒尺寸大小,而颜色信息对于测量尺寸是没有意义的,所以将彩色图像转化为灰度图像,这样就把彩色信息去除了。得到灰度图像后,因为灰度值可用0-255共256个数字表示从黑到白的所有灰度等级,同样,这些灰度信息、具体取什么值,和本申请所关心的尺寸测量没有任何关系,所以将灰度图像转化为非黑即白的二值图像,即黑白图像,在黑白图像中完成尺寸测量。另外,这也是matlab尺寸测量函数所要求的,因为尺寸测量函数处理的对象必须是二值图像,灰度图像无法使用尺寸测量函数。

优选地,所述步骤s4具体为:利用matlab中的函数f3=beareaopen(f2,area)去除所述二值图像f2中的噪点,得到去噪后的二值图像f3;其中,area为一个给定的具体数字,表示一个像素集,小于该像素集的白色区域或噪点将被删除。

可以理解的是,进行尺寸测量的时候,图像要求很严格,必须非常干净,不能有一个噪点,否则matlab程序会计算这个小小噪点的相关尺寸,从而对测量结果造成干扰。

但观察图1和图2,虽然图1为去噪前的二值图像,图2为去噪后的二值图像,但是肉眼观察时,两者并不明显,这是因为:这些噪点是图像处理过程中无法避免的,其最初的来源主要是相机拍摄的一瞬间,即原始图像中就有噪点,还有一部分噪点是在图像处理过程中,比如灰度化、二值化等过程中产生的。这些噪点有的较大,肉眼可以观察到,但有些噪点很小,可能只有一个像素大,受到目前显示器分辨率的限制,我们在电脑显示器上很难直接用肉眼看到一个像素大的噪点,需要放大很多倍才能看到。同理,受打印机分辨率的限制,打印机很难打印出图片或文档中的一个像素,因此,我们不论在显示器上看图片,还是看打印出来的文件,都很难直观看到一个像素或一个噪点,但对于matlab而言,再小的噪点也会被发现,因为噪点的灰度值与其他像素点不同。

另外,本发明在采集原始图像时,采用了红色的led背光源,该光源对噪点的抑制有一定帮助,所以原始图像本身所含有的噪点也比较少。

优选地,所述步骤s5具体为:利用matlab中的函数f4=imcomplement(f3)得到所述去噪后的二值图像f3的负片f4。

优选地,所述步骤s6具体为:利用matlab中的函数[l,num]=bwlabel(f4)将所述多个待测杂粮作物籽粒进行标记。

需要说明的是,bwlabel函数的主要作用是标记,也就是给待测对象编号,编好号后才能对每个待测对象进行尺寸测量,待测对象和测量结果才能一一对应。

该函数只有1个输入变量,即去噪后的二值图像f3的负片f4。输出变量有两个,分别是l和num,其中l表示标记矩阵,num表示待测对象的个数。例如:图4中有14个待测对象,那么num就等于14。

优选地,所述步骤s8包括:

步骤s81、计算所述标准尺寸的硬币单位像素所对应的尺寸值c=d/x,其中,d为所述标准尺寸硬币的以毫米为单位的直径尺寸,x为标准尺寸硬币的以像素为单位的直径尺寸;

步骤s82、利用matlab中的函数[xyab]=regionprops(f4,boundingbox)得到所述最小外接矩形长度像素值a和宽度像素值b;其中,x和y表示所述最小外接矩形左上角像素的坐标,舍弃;

步骤s83、投影图像下待测杂粮作物籽粒的长度尺寸值=c*a,待测杂粮作物籽粒的宽度尺寸值=c*b。

优选地,所述步骤s9中将所述标准尺寸的硬币竖直摆放,所述标准尺寸的硬币的圆面垂直于水平面且正对摄像头;待测杂粮作物籽粒的实际高度尺寸值==c*a1,其中,a1为侧视图像下待测杂粮作物籽粒最小外接矩形竖直方向的高度像素值。

优选地,所述标准尺寸的硬币为一元硬币。

综上所述,本发明提供的这种杂粮作物籽粒三轴尺寸快速检测算法,利用matlab图像处理技术进行杂粮籽粒三轴尺寸(长、宽、高)的测量,可以实现:

(1)省时省力、高效的测量;

(2)无损、非接触的测量,避免了人为因素造成的误差;

(3)实时、在线、准确、高精度的测量,可立即得到测量结果。

(4)不依赖于待测物体的外观形状,对各种形态的小籽粒作物都能进行测量,具有很好的适应性。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“多个”指两个或两个以上,除非另有明确的限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1