基于C#的茶叶分拣系统上位机软件设计 文章基于C#编程语言为茶叶分拣设备设计了一套控制软件,软件根据设备提供的茶叶图像资料,结合识别算法判断出茶叶的质量,并通过特定通信协议控制设备对茶叶进行分拣。该软件对茶叶的批量化、自动化生产有一定的促进作用。 标签:茶叶分拣;茶叶识别;分拣软件 1 概述 本软件在微软Visual Studio编程平台上进行开发,结合基础类库MFC和开源opencv图像识别库完成软件的设计。软件采用MVC开发框架,采用数据层,业务层和展现层的分层结构。茶叶识别算法的设计分为状选和色选两个部分,分别对茶叶的外观特征和颜色进行识别处理,最后得出茶叶的质量及分类数据。 2 茶叶图像特点分析 以凤凰茶叶为例,分析合格和不合格茶叶的图像特点: 表1中观察对比发现茶叶质量等级可以由两个方面来判断,一是茶叶的颜色,二是茶叶的形状。上位机软件可以通过形状算法来判断茶叶的宽窄,通过HSV颜色系统来进行判断颜色。具体方法是给二值图的像素点做标记,寻找茶叶的轮廓,计算茶叶的面积,计算黄色所占面积占整个茶叶面积的比重。图像初始化后,进行骨骼化,找出茶叶的中轴,再找出两个端点,取中轴两边多点计算平均宽度,得到茶叶的宽度值。 3 软件整体架构 软件的整体架构设计如图1所示,利用可视化编程框架MFC编写软件的界面,在業务层处理的时候将茶叶识别算法分为色选和状选两部分,数据层是从网络摄像头获取的茶叶图像数据。 系统的软件分为数据层、业务层和展示层三部分。数据层是获取摄像头采集的图片数据。业务层是茶叶识别算法,茶叶识别分为两个部分,一部分是茶叶颜色的识别,茶叶和茶梗是黑色,而杂叶偏黄;另一部分是茶叶形状的识别,茶叶和杂叶都比较宽,而茶梗比较细。展示层则是可视化编程框架MFC编写软件的界面,界面会显示摄像头拍摄到的茶叶图片。图像处理过程中,色选模块,采用符合我们描述颜色方式的HSV颜色系统,H代表色相,即颜色种类;S代表饱和度,即颜色的深浅;V代表色调,即颜色的亮度[1,2]。色选模块通过计算颜色偏黄的面积占茶叶总面积的比例,分拣出质量不同的茶叶。将采集到的原始图像,经过高斯低通滤波,把图像的噪点滤除,再利用灰度图进行二值化,寻找茶叶的轮廓,从而计算出茶叶的面积。状选模块是先对初始化的图像进行骨骼化,骨骼化即对图像进行细化处理,找出茶叶的中轴,将图像细化为二值图,但整体形状 本文来源:https://www.wddqw.com/doc/0c67a311f41fb7360b4c2e3f5727a5e9846a27d4.html