一种烟叶长度的测量方法
技术领域
本发明涉及一种烟叶长度的测量方法。
背景技术
现有技术中对烟叶进行等级评价时,烟叶长度是一个重要指标,特别是对于雪茄烟叶,而目前无论是人工还是自动测量烟叶长度,都需要拉直烟叶后才能测量(如图1所示),只是因为烟草的叶片在烤制或者晾晒后有明显的卷曲,所以直接通过视觉估计无法得到准确长度。但这样也导致测量长度时都必须先拉伸烟叶,采用人工方式则存在耗费人力多效率慢的问题,采用机械自动拉伸则容易损坏烟叶,测量的效率仍会因为拉伸过程而降低,因此现有技术需要对测量方式改进才能对处理后存在卷曲的烟叶在无需拉直的情况下直接通过采集的图像进行测定
发明内容
本发明的目的在于提供一种烟叶长度的测量方法,以解决现有技术中必须拉直烟叶才能测定烟叶长度,无法对存在一定卷曲的烟叶直接通过图像处理和测量获取较准确长度的技术问题。
所述的一种烟叶长度的测量方法,包括下列步骤:
步骤一、将烟叶放置于透明材质的承托板上,承托板底部设置辅助背光,通过相机拍摄烟叶的透光图像;
步骤二、通过机器视觉算法识别透光图像中烟叶的茎并标记出来;
步骤三、通过步骤二得到图像计算出茎的轮廓;
步骤四、计算出所述轮廓长度的一半作为测定的茎长;
步骤五、通过试验获得经验系数a,茎长乘以经验系数a获得实际烟叶长度。
优选的,所述步骤二的具体操作步骤为:
步骤1.1、建立神经网络模型,通过人工标识出烟叶的茎的透光图像作为训练样本集对神经网络模型进行训练,获得烟叶的识别模型;
步骤1.2、对步骤一采集的透光图像进行预处理并提取图像特征;
步骤1.3、将图像特征输入识别模型,识别模型输出识别结果并根据识别结果对透光图像中烟叶的茎进行标记。
优选的,所述步骤三中,对步骤二标记出表示烟叶的茎的区域调用opencv中获取轮廓的函数findContours进行处理。
优选的,所述步骤四中通过线积分计算所述轮廓的长度。
优选的,所述步骤四中通过调用opencv中计算曲线长度的函数arcLength计算所述轮廓的长度。
本发明的技术效果:本发明为了在不拉直烟叶的情况下对烟叶长度进行较准确的测量,采用对烟叶中茎的长度测定,在通过试验获得的经验系数计算实际烟叶长度的方法实现测量,而卷曲的烟叶在识别出茎并标记出对应区域后,又通过获取区域轮廓的长度,并以该长度的一半作为茎长。由于叶片的茎与烟叶长度之间本身存在线性关系,而烟叶的茎即使卷曲后其中心线两侧的曲线与自身在形状长度也保持近似一致,因此可以通过计算轮廓线长度的一半较准确的求得茎长,另一方面,识别出烟叶的茎后,计算其对应图像区域的轮廓线的曲线长度相比进一步识别计算卷曲的茎的中心线更加方便可靠,计算量也较小,因此采用这种方式计算叶长更加高效可靠。
附图说明
图1为本发明一种烟叶长度的测量方法中对采集的烟叶图像识别出烟叶的茎并标记后的图像。
图2为本发明中对识别并标记后的阴影区域进行轮廓计算时的示意图,阴影部分为烟叶的茎被标记出来的区域。
具体实施方式
下面对照附图,通过对实施例的描述,对本发明具体实施方式作进一步详细的说明,以帮助本领域的技术人员对本发明的发明构思、技术方案有更完整、准确和深入的理解。
如图1-2所示,本发明提供了一种烟叶长度的测量方法,包括下列步骤:
步骤一、在不拉直烟叶的情况下,直接将烟叶左右横向放置于透明材质的承托板上,承托板底部设置辅助背光,通过相机拍摄烟叶的透光图像。
步骤二、通过机器视觉算法识别透光图像中烟叶的茎并标记出来。
具体操作步骤为。
步骤1.1、建立神经网络模型,通过人工标识出烟叶的茎的透光图像作为训练样本集对神经网络模型进行训练,获得烟叶的识别模型。
步骤1.2、对步骤一采集的透光图像进行预处理并提取图像特征。
步骤1.3、将图像特征输入识别模型,识别模型输出识别结果并根据识别结果对透光图像中烟叶的茎进行标记。
步骤三、计算标记出的茎的轮廓,该步骤中对步骤二标记出表示烟叶的茎的区域调用opencv中获取轮廓的函数findContours进行处理,就能得到已标记区域的轮廓线。
步骤四、计算出所述轮廓长度的一半作为测定的茎长。这里可以通过线积分计算所述轮廓的长度,也可以通过调用opencv中计算曲线长度的函数arcLength计算所述轮廓的长度。
步骤五、通过试验获得经验系数a,茎长乘以经验系数a获得实际烟叶长度。
上面结合附图对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的发明构思和技术方案进行的各种非实质性的改进,或未经改进将本发明构思和技术方案直接应用于其它场合的,均在本发明保护范围之内。