APP下载

基于C#的茶叶分拣系统上位机软件设计

2019-08-26林浩岳欧阳培建

山东工业技术 2019年24期

林浩岳 欧阳培建

摘 要:文章基于C#编程语言为茶叶分拣设备设计了一套控制软件,软件根据设备提供的茶叶图像资料,结合识别算法判断出茶叶的质量,并通过特定通信协议控制设备对茶叶进行分拣。该软件对茶叶的批量化、自动化生产有一定的促进作用。

关键词:茶叶分拣;茶叶识别;分拣软件

DOI:10.16640/j.cnki.37-1222/t.2019.24.067

1 概述

本软件在微软Visual Studio编程平台上进行开发,结合基础类库MFC和开源opencv图像识别库完成软件的设计。软件采用MVC开发框架,采用数据层,业务层和展现层的分层结构。茶叶识别算法的设计分为状选和色选两个部分,分别对茶叶的外观特征和颜色进行识别处理,最后得出茶叶的质量及分类数据。

2 茶叶图像特点分析

以凤凰茶叶为例,分析合格和不合格茶叶的图像特点:

表1中观察对比发现茶叶质量等级可以由两个方面来判断,一是茶叶的颜色,二是茶叶的形状。上位机软件可以通过形状算法来判断茶叶的宽窄,通过HSV颜色系统来进行判断颜色。具体方法是给二值图的像素点做标记,寻找茶叶的轮廓,计算茶叶的面积,计算黄色所占面积占整个茶叶面积的比重。图像初始化后,进行骨骼化,找出茶叶的中轴,再找出两个端点,取中轴两边多点计算平均宽度,得到茶叶的宽度值。

3软件整体架构

软件的整体架构设计如图1所示,利用可视化编程框架MFC编写软件的界面,在业务层处理的时候将茶叶识别算法分为色选和状选两部分,数据层是从网络摄像头获取的茶叶图像数据。

系统的软件分为数据层、业务层和展示层三部分。数据层是获取摄像头采集的图片数据。业务层是茶叶识别算法,茶叶识别分为两个部分,一部分是茶叶颜色的识别,茶叶和茶梗是黑色,而杂叶偏黄;另一部分是茶叶形状的识别,茶叶和杂叶都比较宽,而茶梗比较细。展示层则是可视化编程框架MFC编写软件的界面,界面会显示摄像头拍摄到的茶叶图片。图像处理过程中,色选模块,采用符合我们描述颜色方式的HSV颜色系统,H代表色相,即颜色种类;S代表饱和度,即颜色的深浅;V代表色调,即颜色的亮度[1,2]。色选模块通过计算颜色偏黄的面积占茶叶总面积的比例,分拣出质量不同的茶叶。将采集到的原始圖像,经过高斯低通滤波,把图像的噪点滤除,再利用灰度图进行二值化,寻找茶叶的轮廓,从而计算出茶叶的面积。状选模块是先对初始化的图像进行骨骼化,骨骼化即对图像进行细化处理,找出茶叶的中轴,将图像细化为二值图,但整体形状不变,利用骨骼化后的图像找到茶叶的两个端点,再用迪杰斯特拉最短算法求出茶叶的两条边,最后再取中轴两边的10对点计算出平均宽度,通过茶叶的宽度识别茶叶质量的好坏。通过色选和状选两个模块,可以准确对茶叶进行识别判断,得到分类数据,用于控制下位机进行分拣动作。

3.1 HSV颜色系统介绍

经过多次的测试,最后决定在图像的处理过程中采用HSV颜色系统,因为HSV对于茶叶颜色的表达更准确。H、S和V分别代表色相、饱和度和色调。我们可以参照表2确定颜色的大致区间。

3.2 色选模块算法设计

色选模块算法流程:开始原始图像计算茶叶总面积S1计算茶叶黄色区域面积S2计算茶叶黄色面积占整体面积的比例 (S2/S1)结束。

色选模块的算法设计如上所示,主要分为两部分,一部分是计算茶叶的总面积,另一部分是计算黄色区域面积,最后计算黄色面积占整体面积的比例,我们可以根据这个比例识别出茶叶是不是偏黄。

3.3 茶叶总面积的计算

计算茶叶总面积算法流程:开始原始图像高斯滤波       灰度图二值化寻找轮廓计算茶叶面积结束。

计算茶叶总面积的流程图如上所示,首先原始图像通过高斯滤波剔除一些外在的干扰,然后将图像转化为灰度图,再二值化,最后寻找轮廓计算茶叶面积。

4 上位机软件界面设计

上位机软件的整体界面如图2所示,整体的布局分为数据处理部分和数据统计部分。图像显示部分在界面的上半部分,数据统计部分在界面的下半部分。

下面详细介绍各部分的功能:

①网络摄像头传采集到的茶叶原始图像;

②、③、⑤、⑥显示茶叶识别判断的结果;

④显示茶叶图像的灰度图片;

⑦通信接口的相关配置;

⑧茶叶分类的数据;

⑨设备启动与停止按钮。

5 与下位机的通信协议设计

PC机将识别判断好的茶叶数据通过串口通信发送给下位机,通信数据包含茶叶所在的图像通道和茶叶的质量等级等信息。通信协议定义为:“0xff+0xff+通道号+茶叶质量等级标记+长度+校检码+0x0d+0x0a”。其中“0Xff+0xff”是通信开始标识,“0X0d+0x0a”是通信结束标识,下位机首先创建循环结构体队列,然后循环执行以下程序:读取位置编码器的脉冲,在接收到正确的协议内容后,将包含数据头的结构体压入队列,并循环检测4通道是否为空,在队列非空的情况下,根据信息头信息来控制分拣机构的执行状态。

6 小结

本文设计的茶叶分拣上位机软件能显示茶叶原始及灰度图像,并通过识别茶叶的颜色和形状来判断茶叶质量,得到的判别结果图像显示在软件界面右上方,茶叶的统计数据在软件下方显示。并通过特定通信协议与下位机通信,完成茶叶分拣工作。经测试软件运行稳定,茶叶质量识别率高于90%。该上位机软件在界面美化及数据保存功能方面还需要继续完善升级。

参考文献:

[1]付贝贝.可视化传感体系构建及在茶叶检测中的应用研究[D].重庆大学,2016.

[2]余洪.基于计算机视觉技术的茶叶品质分级研究[D].江西农业大学,2017.

[3]陈胜勇.基于OpenCV的计算机视觉技术实现[M].科学出版社,2008.

作者简介:林浩岳(1986-),男,广东江门人,本科,实验师,研究方向:电气工程自动化。