摘要:本课题设计并实现了一套基于图像处理与深度学习的药丸计数与分类系统。系统首先对输入的药丸图像进行预处理,包括灰度化、中值滤波、Sobel 边缘检测、膨胀运算、区域填充及面积开运算等,以获得完整的药丸二值图。随后利用连通域分析提取每个药丸的外接矩形框,并自动将其分割保存到独立文件夹中,从而实现药丸的自动检测与计数。
作者:Bob(原创)
项目概述
针对传统人工药丸计数效率低、误差大且难以进行自动分类的问题,本文设计并实现了一种基于图像处理与深度学习的药丸计数与分类系统。首先,对原始药丸图像进行灰度化、中值滤波、Sobel 边缘检测、形态学膨胀、区域填充及面积开运算等预处理操作,以获得结构完整、噪声较低的二值图像。随后通过连通域分析提取药丸的外接矩形区域,并实现对单个药丸的自动分割与保存,同时计算药丸数量,实现高效的自动计数。
在药丸分类方面,本文构建了两类特征提取与聚类算法。其一是基于颜色均值和形状尺寸等低维特征构建的传统 k-means 聚类模型,用于实现快速药丸分组;其二采用预训练 VGG16 卷积神经网络提取药丸的高维深度特征,并融合颜色与几何信息形成特征向量,再通过 k-means 算法实现更高精度的聚类分类。通过对比实验表明,与传统特征方法相比,基于深度特征的聚类模型在类内紧凑度和类间可分性方面均具有明显优势。
此外,本文基于 MATLAB GUIDE 构建了图形化用户界面,集成图像加载、预处理、药丸分割与显示、计数统计、传统特征分类与深度学习特征分类等功能,实现了系统的可视化操作与便捷调用。实验结果验证了该系统在药丸图像自动处理、数量统计以及基于特征的分类任务中的有效性与实用性。
系统设计
本系统采用"图像预处理+药丸分割计数+特征提取与聚类分类+MATLAB GUI 可视化"的整体架构,实现了药丸图像的自动检测、计数与分类一体化处理。

图1 系统整体流程图
硬件配置
该系统硬件配置如上,如果您的电脑配置低于下述规格,运行速度可能会与本系统的存在差异,请注意。

表1 惠普(HP)暗影精灵10台式整机配置(系统硬件配置)
软件环境
对本实验所需的各类软件及工具的基本信息进行了清晰汇总。

表2 系统软件配置(真实运行环境)
运行展示
运行GRADUATE_PROJECT.m

图2 系统主界面
这是系统的主界面,展示了药丸计数与分类系统的整体框架。界面上包括了"导入图像","药丸计数","清除数据"和"退出系统"按钮,以及药丸图像的显示区域和分类参数输入框。用户可以通过此界面操作系统进行药丸图像的加载、处理和分类。

图3 药丸计数(样例1)
该图像展示了一个药丸图像及其计数结果。药丸图像被标出了分割区域,每个药丸通过红色框进行标记。该界面同时显示了药丸的计数结果,展示了药丸计数的功能。

图4 药丸计数(样例2)
该图显示了另一种药丸分割与计数的例子。在药丸图像中,可以看到不同类型的药丸,通过矩形框标记每一个药丸,计数值显示在下方。这一界面展示了药丸分类与计数系统的准确性和灵活性。

图5 药丸计数(样例3)
该图像展示了药丸计数与分类的结果,涵盖了药丸图像的分割、计数、分类等多个方面。显示了不同类别药丸的计数,并且标出了每个类别的药丸。

图6 药丸计数(样例4)
该图显示了另一组药丸图像的计数与分类结果,通过红色框框定每个药丸,显示了系统的处理结果。图中的药丸数量与类别显示了系统的准确度。

图7 药丸计数(样例5)
图像展示了带有不同形状与颜色的药丸,分类与计数的结果清晰可见。药丸被准确分类并计数,显示了分类与计数的功能。

图8 药丸计数(样例6)
该图展示了另一个药丸计数的样例,计数过程包括了对药丸图像的处理与分析,药丸的数量与类别被准确识别与输出。

图9 药丸计数(样例7)
该图展示了另一个药丸计数的样例,计数过程包括了对药丸图像的处理与分析,药丸的数量与类别被准确识别与输出。

图10 分类方法(传统方法)
该图展示了传统方法在药丸分类中的应用,可能包括了基于颜色、尺寸等特征的分类方式。图中显示了药丸分类的结果,体现了传统特征提取与聚类方法的有效性。

图11 分类方法(深度学习方法)
此图展示了基于深度学习(如VGG16)进行药丸分类的方法。通过深度学习特征的提取与聚类,药丸的分类效果得到了提升。图中的药丸分类结果展示了深度学习方法与传统方法的对比。