摘要:随着数字图像处理技术在医药检测、药品管理和自动化识别领域的广泛应用,传统人工药片清点方式存在效率低、主观性强、易产生误差等问题。针对这一问题,本文设计并实现了一种基于 MATLAB 图像处理的药片检测与计数系统。系统采用 MATLAB 图形用户界面进行开发,能够实现药片图像加载、图像预处理、目标分割、数量统计和结果导出等功能,具有较强的可视化和交互性。

项目概览

项目简介

系统主要采用以下技术路线:首先对输入的彩色图像进行灰度转换,降低计算复杂度;然后使用中值滤波算法去除图像噪声,提高图像质量;接着通过Otsu自适应阈值法进行二值化处理,实现目标与背景的分离;随后应用形态学操作(腐蚀和膨胀)优化二值图像,消除小噪点并填充药片内部空洞;最后利用连通区域标记算法对各个药片进行标识和计数,并在原图上绘制检测框和编号。

系统采用现代化的图形用户界面(GUI)设计,界面布局合理、操作简便。左侧控制面板集成了图像加载、智能检测、结果导出、清空重置等功能按钮,并实时显示检测结果、处理时间、图像尺寸等详细信息。右侧显示区域采用2行4列的布局,分步展示了从原始图像到最终检测结果的完整处理流程,使用户能够直观地观察每个处理阶段的效果。

实验结果表明,该系统能够准确识别不同形状、大小和排列方式的药片,检测准确率高,处理速度快。系统具有良好的实用性和可扩展性,可应用于医药生产线的自动化检测、药品包装质量控制、药房配药核验等多个场景,对提高医药行业的自动化水平和质量管理具有重要意义。

系统架构

本系统采用三层架构设计:表示层、业务逻辑层和数据处理层。表示层基于MATLAB uifigure框架构建现代化图形用户界 者信息面板,实现了人机交互和实时状态反馈;业务逻辑层通过回调函数机制处理用户操作,协调图像加载、智能检测 度转换、中值滤波降噪、Otsu自适应二值化、形态学腐蚀膨胀操作、连通区域标记与统计,以及检测结果可视化标注, 循单一职责和模块化设计原则,各层次职责清晰、耦合度低,具有良好的可维护性和可扩展性。

图1 系统架构图

技术创新

创新点1:HSV颜色空间的自适应分割策略

本系统针对交通标志的颜色特征,创新性地采用HSV颜色空间进行标志提取,相比传统RGB空间具有更强的光照鲁棒性。通过对红、蓝、黄三种主要颜色分别设计专用的颜色掩码函数(HSV_red_createMask、HSV_blue_createMask、HSV_yellow_createMask),实现了对不同光照条件下交通标志的精确分割。HSV空间将色调、饱和度和明度分离表示,使得颜色阈值设定更加直观,对阴影和光照变化具有更强的适应能力,有效解决了复杂环境下标志提取不完整的问题。

创新点2:形态学优化与连通域自适应裁剪

本系统设计了形态学处理与连通域分析相结合的标志分割算法。首先通过开运算去除颜色分割后的小面积噪声,再通过闭运算填充标志内部的空洞区域;然后利用连通域分析提取面积最大的区域作为目标标志。针对黄色标志提取边缘易丢失的问题,创新性地引入了自适应边界扩展策略(黄色标志扩展7像素,红蓝标志不扩展),确保裁剪出的标志完整性。该方法有效提高了分割精度,为后续CNN识别提供了高质量的输入数据。

本系统设计了一种轻量化的卷积神经网络结构,仅包含一个卷积层(5×5卷积核,20个特征图)、一个池化层和一个全连接层,相比传统深度网络大幅减少了参数量和计算复杂度。网络输入为120×120×3的彩色图像,通过单层卷积即可提取交通标志的关键特征,适合在MATLAB平台上快速训练和部署。系统实现了从图像读取、颜色分割、形态学处理到CNN识别的端到端完整流程,并集成了模型训练功能,用户可自定义数据集进行训练,具有良好的可扩展性和实用性。

快速开始

在MATLAB命令行窗口中输入 PillCounterGUI 并按回车键即可启动图形界面,然后点击”加载图像”按钮选择药片图片,最后点击”智能检测”按钮完成自动计数。

环境要求

本系统需要MATLAB R2018b或更高版本,并安装Image Processing Toolbox图像处理工具箱。

运行展示

运行PillCounterGUI.m

图2 主界面

图3 药片检测和计数结果

图4 药片检测和计数结果

图5 药片检测和计数结果

图6 药片检测和计数结果

图7 导出结果

项目资源

配套文档

点击查看:基于MATLAB图像处理的药片检测与计数系统设计与实现 注意:免费提供!

配套文件

包括完整的项目源代码、演示视频、运行截图,开箱即用。

项目信息

作者信息

作者:Bob (张家梁)
项目编号:IP-10-M
原创声明:本项目为原创作品

联系方式

开源协议

本项目采用AGPL-3.0开源协议,允许个人和组织自由使用、修改和分发代码,但基于本项目的衍生作品必须同样开源,且用于提供网络服务时需向用户提供完整源代码。本项目仅供学习研究使用,作者不对使用本项目产生的任何后果承担责任,使用者应遵守当地法律法规,合理合法使用本项目。如本项目对您的研究或工作有所帮助,欢迎引用并注明出处。

声明:本站所有项目资源都可以正常运行,亲测无错!而且我们录制了演示视频,在我们注明的环境版本下,项目运行效果完全和演示视频一致。客服QQ:下载须知