[发明专利]一种基于机器视觉的药盒内药袋数量的检测方法有效
申请号: | 202110501961.0 | 申请日: | 2021-05-08 |
公开(公告)号: | CN113284095B | 公开(公告)日: | 2023-08-25 |
发明(设计)人: | 徐长波;罗楚坤;曹少中 | 申请(专利权)人: | 北京印刷学院 |
主分类号: | G06T7/00 | 分类号: | G06T7/00;G06T7/12;G06T7/136;G06T7/194;G06T7/62;G06T5/00;G06T3/40 |
代理公司: | 北京慕达星云知识产权代理事务所(特殊普通合伙) 11465 | 代理人: | 符继超 |
地址: | 102600 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 机器 视觉 药盒内药袋 数量 检测 方法 | ||
1.一种基于机器视觉的药盒内药袋数量的检测方法,其特征在于,包括以下步骤:
实时采集药品生产线上药盒中药袋的原始图像,并对所述原始图像进行预处理,得到二值图像;
采用细化算法提取所述二值图像中的药袋轮廓,得到图像骨架;
按照多区域轮廓统计方法将所述图像骨架分成长度相等的多个区域,提取每个区域中的各个药袋的轮廓,并计算每个区域的轮廓数量;
遍历全部区域的轮廓数量,取其中重复率最高的数值作为药盒内药袋的最终计数结果;
所述多区域轮廓统计方法包括以下步骤:
按单个药袋的平铺方向将所述图像骨架分成长度相等的多个区域,使每个区域均包含药盒中各个药袋的部分图像骨架;
对每个区域分别进行边缘掩码计算,将每个区域中的图像骨架的边缘像素灰度值置0;
分别提取每个区域中的各个药袋的轮廓,将每个区域提取到的轮廓对应保存至相应的二维向量中,将每个二维向量的子向量个数分别作为各个区域中的药袋数量;
将每个二维向量的子向量个数保存至一个一维数组中;
遍历一维数组,计算出其中重复率最高的数值,作为药盒内药袋的最终计数结果;
药盒内药袋的计数过程为:
将每个区域中的药袋数量构建为如下的一维数组P;
P={p1,p2,...pm};
其中,P表示一维数组,m表示图像骨架所划分的区域个数,pm表示第m个区域中的轮廓数量;
遍历一维数组P,将计算出的各轮廓数量出现的次数存入一维数组X中;
X={x1,x2,...,xn},0≤n≤m;
其中,xn表示各轮廓数量出现的次数;
将各轮廓数量与其出现的次数进行数据绑定,通过泡沫排序法对x1-xn进行降序,选择出最大值xmax,将xmax作为药盒内药袋的最终计数结果;
其中,y表示药盒内药袋的最终计数结果。
2.根据权利要求1所述的一种基于机器视觉的药盒内药袋数量的检测方法,其特征在于,所述预处理包括依次对所述原始图像进行灰度化处理、缩放、裁剪、高斯平滑处理和阈值分割。
3.根据权利要求1所述的一种基于机器视觉的药盒内药袋数量的检测方法,其特征在于,所述采用细化算法提取所述二值图像中的药袋轮廓,得到图像骨架,包括:
从所述二值图像中提取一系列具有一定形状的结构元素,在结构元素与其覆盖的二值图像中某一区域完全相同时,则该区域中心像素点被标记;
按照从左上角到右下角的顺序,采用迭代算法检测是否存在被标记的像素点,若存在,则继续重复迭代过程,反之,则删除所有被标记的像素点;
将剩下的像素点构成的区域作为所述图像骨架。
4.根据权利要求3所述的一种基于机器视觉的药盒内药袋数量的检测方法,其特征在于,每次迭代过程包括两个子过程,分别为子过程1和子过程2,其中,子过程1的判断条件如下:
其中,P0为前景点,如果同时满足上述四个条件,则判断P0为可删除的点;条件1判断P0是否为端点,如果P0仅有一个邻点,则为端点,不能被标记;如果P0有七个邻点,为保证图像骨架的连通性,不能被标记;条件2检测P0的8个邻点是否有0到1之间的变化;条件3标记P0的8个邻点中东南边的非骨架像素点;条件4标记P0的8邻点中西北角的非骨架像素点;
子过程2的判断过程为:
其中,P0如果同时满足上述四个条件,则判断P0为可删除的点;条件7标记P0的8各邻点中西北边的非骨架像素点;条件8标记P0的8各邻点中东南角的非骨架像素点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京印刷学院,未经北京印刷学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110501961.0/1.html,转载请声明来源钻瓜专利网。