当前位置: 首页 > 专利查询>重庆大学专利>正文

基于轮廓凹凸性的药袋检测和抓取点定位方法技术

技术编号:31740600 阅读:32 留言:0更新日期:2022-01-05 16:18
本发明专利技术公开了一种基于轮廓凹凸性的药袋检测和抓取点定位方法,包括步骤:I)通过相机采集堆放在分拣台上的药袋的图像;II)对图像依次进行灰度化、中值滤波、二值化处理、闭操作和开操作;III)对二值图像进行轮廓跟踪,IV)对轮廓进行拟合得到多边形轮廓;V)判断多边形轮廓顶点的凹凸性;VI)药包分割,每两凹顶点之间为分割出的一个药袋;VII)定位堆叠药袋抓取点。本发明专利技术针对堆叠的药袋图像拟合后呈凸多边这一实际情况,创造性的利用相邻两药袋结合部顶点为凹顶点的特性来分割药袋,从而降低了堆叠药袋的分割难度,并在此基础上实现了对药袋最终抓取点的定位,解决了堆叠药袋当前最适宜抓取药袋的选取及定位问题。抓取药袋的选取及定位问题。抓取药袋的选取及定位问题。

【技术实现步骤摘要】
基于轮廓凹凸性的药袋检测和抓取点定位方法


[0001]本专利技术涉及自动化药房
,特别涉及采用机械手抓取小包装药袋时的 药袋检测及抓取点定位方法。

技术介绍

[0002]近年来小包装中药的市场占有率不断提高,但多数药房仍采用传统的人工方 式对其进行调剂。在医疗资源相对紧缺的当下,三甲医院以及大型中医院的当 日处方量在500

1500方,人工抓药调剂工作量,效率低,人工成本高。
[0003]采用机械手代替人工抓药能提高抓药效率,降低人工成本。而如何找出分散 堆叠在分拣台上的药包中最适于当前抓取的药包,并确定出抓取点的位置,是 机械手能够成功抓取小包装中药袋的关键。

技术实现思路

[0004]有鉴于此,本专利技术的目的是提供一种基于轮廓凹凸性的药袋检测和抓取点 定位方法,以解决采用机械手抓取分拣台上小包装中药袋时如何确定当前最适 于抓取的药袋及抓取点位置的技术问题。
[0005]本专利技术基于轮廓凹凸性的药袋检测和抓取点定位方法,包括以下步骤:
[0006]I)通过布置在分拣台上方的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于轮廓凹凸性的药袋检测和抓取点定位方法,包括以下步骤:I)通过布置在分拣台上方的相机采集堆放在分拣台上的药袋的图像;II)对相机采集的图像依次进行灰度化、中值滤波、二值化处理、闭操作和开操作;III)对步骤II)处理后的二值图像进行轮廓跟踪;IV)对外轮廓进行拟合得到多边形轮廓;其特征在于:V)判断多边形轮廓顶点的凹凸性;VI)药包分割:在多边形轮廓的两相邻凹顶点之间分割出的一个药袋;VII)定位堆叠药袋抓取点:先计算拟合得到多边形轮廓中分割后各药袋的边长和,将边长和最大的药袋视为与其它药袋的重叠面积最小,也就是当前最适合抓取的药袋;然后从该药袋的轮廓拟合图中获取药袋的长和宽,将药袋还原成矩形;然后再找出药袋在拟合图像中的最长边的中点,再将该中点沿垂直于最长边方向,向药袋内平移,平移距离为药袋宽度的五分之二,平移后的点为最终抓取点。2.根据权利要求1所述的基于轮廓凹凸性的药袋检测和抓取点定位方法,其特征在于:所述步骤III)中轮廓跟踪包括确定轮廓的边界点和寻找下一个轮廓点;所述确定轮廓的边界点包括以下步骤:a)将二值图像中灰度值为0和1的像素分别称为0像素点和1像素点,第i行、j列的像素点记为(i,j),用f[i][j]表示该点的灰度值则有:b)逐行扫描二值图像,扫描过程中遇到1像素时统计该点在其8连通方向和4连通方向上1像素点的个数,分别用num_8和num_4表示,则有:c)判断边界点情况:(1)若1<num_8[i][j]<4,则该点为边界点,令f[i][j]=1;(2)若3<num_8[i][j]<8,继续判断num_4[i][j]的值,若num_4[i][j]≠4则该点为边界点,令f[i][j]=1;(3)情况(1)和情况(2)外的其它情况,该点不是边界点,令f[i][j]=0;d)去除步骤c)获得的图像边界点中的干扰点:首先定义以下变量d)去除步骤c)获得的图像边界点中的干扰点:首先定义以下变量
接着按以下步骤排除干扰点:Step1:逐行扫描过程遇到num_a[i][j]=4的像素点执行Step2,否则执行Step6;Step2:若num_b[i][j]=num_down[i][j],则该点的上一行两点是伪边界点,令f[i][j]=0,f[i][j+1]=0;Step3:若num_b[i][j]=num_up[i][j],则该点的下一行两点是伪边界点,令f[i+1][j]=0,f[i+1][j+1]=0;Step4:若num_b[i][j]=num_left[i][j],则该点的右侧一行两点是伪边界点,令f[i+1][j]=0,f[i+1][j+1]=0;Step5:若num_b[i][j]=num_right[i][j],则该点的左侧一行两点是伪边界点,令f[i][j]=0,f[i][j+1]=0;Step6:该点处理结束,继续处理下一个点;所述寻找下一个轮廓点包括以下步骤:Step1:按逐行扫描方式对图像进行扫描,将找到的第一个轮廓点记为p0,按设定的扫描方向dir在该轮廓点的8邻域中寻找下一个边界点;当f[i][j]=1时记录扫描方向,令pre_dir=dir,f[i][j]=0,并且将该点的位置记作p_next;Step2:在p_next点处,按照相同的扫描方向dir扫描其8邻域,权重wei为某点8邻域中1像素点的个数,当某点满足f[i][j]=1并且wei[i][j]=2,则该点为下一个选择点,否则继续;当dir=pre_dir并且f[i][j]=1,则该点是下一个选择点,否则选择第一个f[i][j]=1的点,记录该点的位置p_now和方向dir,并且令f[i][j]=0;Step3:若p_now=p0,轮廓扫描结束,转到Step1,继续扫描另一个区域,将找到的第一个边界点记为p1;Step4:若p_now≠p0,令p_next=p_now,pre_dir=dir继续执行第二步;Step5:如果二值图像中找不到任何1像素点,则轮廓跟踪结束。3.根据权利要求1所述的基于轮廓凹凸性的药袋检测和抓取点定位方法,其特征在于:所述步骤IV)中对轮廓进行拟合包括以下步骤:Step1:获取轮廓曲线上曲率最大的点,该点将曲线分成两段,两段都有对应的点序列,分别对每一段进行处理;Step2:记L
i
为第一段曲线上的点,下标i=0,1,2,
……
,n

1,输入第一段曲线上的n点的坐标;Step3:设A=L0,B=L
n
‑1,连接AB生成栈S,将B点入栈;
Step4:在AB之间寻找距离两点连线最远的点,记为C,该点到AB连线的距离记为d;Step5:判断d与阈值的大小关系...

【专利技术属性】
技术研发人员:沈志熙汪知林徐赞林陈宇栋王小清
申请(专利权)人:重庆大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1