CN113284095B - 一种基于机器视觉的药盒内药袋数量的检测方法 - Google Patents
一种基于机器视觉的药盒内药袋数量的检测方法 Download PDFInfo
- Publication number
- CN113284095B CN113284095B CN202110501961.0A CN202110501961A CN113284095B CN 113284095 B CN113284095 B CN 113284095B CN 202110501961 A CN202110501961 A CN 202110501961A CN 113284095 B CN113284095 B CN 113284095B
- Authority
- CN
- China
- Prior art keywords
- medicine
- image
- bags
- skeleton
- contour
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000003814 drug Substances 0.000 title claims abstract description 175
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000001514 detection method Methods 0.000 claims abstract description 31
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 16
- 238000007781 pre-processing Methods 0.000 claims abstract description 13
- 238000004519 manufacturing process Methods 0.000 claims abstract description 8
- 238000007619 statistical method Methods 0.000 claims abstract description 3
- 238000012545 processing Methods 0.000 claims description 15
- 239000013598 vector Substances 0.000 claims description 15
- 239000003550 marker Substances 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 12
- 238000012804 iterative process Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 4
- 239000006260 foam Substances 0.000 claims description 3
- 238000009499 grossing Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000001788 irregular Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 6
- 229940079593 drug Drugs 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 241000411851 herbal medicine Species 0.000 description 2
- 230000000877 morphologic effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000008187 granular material Substances 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000003475 lamination Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20132—Image cropping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30242—Counting objects in image
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于机器视觉的药盒内药袋数量的检测方法,包括以下步骤:实时采集药品生产线上药盒中药袋的原始图像,并对原始图像进行预处理,得到二值图像;采用细化算法提取二值图像中的药袋轮廓,得到图像骨架;按照多区域轮廓统计方法将图像骨架分成长度相等的多个区域,提取每个区域中的各个药袋的轮廓,并计算每个区域的轮廓数量;遍历全部区域的轮廓数量,取其中重复率最高的数值作为药盒内药袋的最终计数结果。本发明基于机器视觉对药盒内药袋进行计数,能够应对排列不规则情况,且检测准确率高。
Description
技术领域
本发明涉及图像处理技术领域,更具体的说是涉及一种基于机器视觉的药盒内药袋数量的检测方法。
背景技术
药品作为生活必需品,其品质保障直接影响到用药者的生命安全及生活质量。在药品生产过程中,冲剂等袋装类药品在最后被填装到药盒的过程中,难免会出现填充数量不正确的情况,因此需要对其进行数量检测。国内大部分生产线上袋装药品数量检测手段往往还停留在人工检测阶段,这种方式不仅检测速度慢、效率低,而且工人劳动强度大、工作枯燥,难以保证检测的准确性与合格率。
目前,利用机器视觉检测图像内物品数量的检测是一种可行且高效的方法,在纸张计数方面、薄片边缘检测方面、作物籽粒计数方面以及药片颗粒计数方面等均有应用,但总体来看,基于图像的计数方式虽然有很多,但绝大多数都是针对检测物品形状规律,排列整齐的情况进行物品计数。由于袋装类药品的形状不规则,且存在排列紧密易贴合等问题,目前主流的图像计数方法并不适用于药盒内药袋数量检测。
因此,如何提供一种能够应对药袋的不规则排列特征,且具有较高准确率的基于机器视觉的药盒内药袋数量的检测方法是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种基于机器视觉的药盒内药袋数量的检测方法,能够对排列不规则的药盒内药袋的数量进行准确计数。
为了实现上述目的,本发明采用如下技术方案:
一种基于机器视觉的药盒内药袋数量的检测方法,包括以下步骤:
实时采集药品生产线上药盒中药袋的原始图像,并对所述原始图像进行预处理,得到二值图像;
采用细化算法提取所述二值图像中的药袋轮廓,得到图像骨架;
按照多区域轮廓统计方法将所述图像骨架分成长度相等的多个区域,提取每个区域中的各个药袋的轮廓,并计算每个区域的轮廓数量;
遍历全部区域的轮廓数量,取其中重复率最高的数值作为药盒内药袋的最终计数结果。
优选的,在上述一种基于机器视觉的药盒内药袋数量的检测方法中,所述预处理包括依次对所述原始图像进行灰度化处理、缩放、裁剪、高斯平滑处理和阈值分割。
优选的,在上述一种基于机器视觉的药盒内药袋数量的检测方法中,所述采用细化算法提取所述二值图像中的药袋轮廓,得到图像骨架,包括:
从所述二值图像中提取一系列具有一定形状的结构元素,在结构元素与其覆盖的二值图像中某一区域完全相同时,则该区域中心像素点被标记;
按照从左上角到右下角的顺序,采用迭代算法检测是否存在被标记的像素点,若存在,则继续重复迭代过程,反之,则删除所有被标记的像素点;
将剩下的像素点构成的区域作为所述图像骨架。
优选的,在上述一种基于机器视觉的药盒内药袋数量的检测方法中,每次迭代过程包括两个子过程,分别为子过程1和子过程2,其中,子过程1的判断条件如下:
2≤N(P0)≤6........(1)
N(P0)=1..............(2)
P1×P3×P5=0.........(3);
P3×P5×P7=0.........(4)
其中,P0为前景点,如果同时满足上述四个条件,则判断P0为可删除的点;条件1判断P0是否为端点,如果P0仅有一个邻点,则为端点,不能被标记;如果P0有七个邻点,为保证图像骨架的连通性,不能被标记;条件2检测P0的8个邻点是否有0到1之间的变化;条件3标记P0的8个邻点中东南边的非骨架像素点;条件4标记P0的8邻点中西北角的非骨架像素点;
子过程2的判断过程为:
2≤N(P0)≤6........(5)
N(P0)=1..............(6)
P1×P5×P7=0.........(7);
P1×P3×P7=0.........(8)
其中,P0如果同时满足上述四个条件,则判断P0为可删除的点;条件7标记P0的8各邻点中西北边的非骨架像素点;条件8标记P0的8各邻点中东南角的非骨架像素点。
优选的,在上述一种基于机器视觉的药盒内药袋数量的检测方法中,所述多区域轮廓统计方法包括以下步骤:
按单个药袋的平铺方向将所述图像骨架分成长度相等的多个区域,使每个区域均包含药盒中各个药袋的部分图像骨架;
对每个区域分别进行边缘掩码计算,将每个区域中的图像骨架的边缘像素灰度值置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表示药盒内药袋的最终计数结果。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于机器视觉的药盒内药袋数量的检测方法,首先,对药盒内药袋图像进行灰度化、图像缩放,裁剪,阈值分割等操作,保留图像中能够有效检测药袋数量的部分;然后对其进行图像细化处理,提取图像中的药袋骨架,通过对细化图像的特征分析提出多区域目标统计计数方法,最终实现对药盒图像内药袋的数量。本发明不仅可以应对药袋不规则排列的特征,而且还有具有准确率高,检测速度快等优点,同时非接触式的数量检测方式能够最大程度的避免对药品的损坏。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1附图为本发明提供的基于机器视觉的药盒内药袋数量的检测方法流程图;
图2a附图为本发明提供的药盒a中药袋的原始图像;
图2b附图为本发明提供的药盒b中药袋的原始图像;
图3a附图为本发明提供的药盒a中药袋的原始图像预处理后所得到的二值图像;
图3b附图为本发明提供的药盒b中药袋的原始图像预处理后所得到的二值图像;
图4a附图为本发明提供的药盒a中药袋的图像骨架示意图;
图4b附图为本发明提供的药盒b中药袋的图像骨架示意图;
图5a附图为本发明提供的药盒a中药袋多区域轮廓统计处理结果示意图;
图5b附图为本发明提供的药盒b中药袋多区域轮廓统计处理结果示意图;
图6附图为本发明提供的在不存在曲线段分叉或曲线段之间粘连的情况下的检测区域示意图;
图7附图为本发明提供的在存在曲线段分叉,且分叉点不在当前检测区域情况下的检测区域示意图;
图8附图为本发明提供的存在药袋粘连情况时的检测区域示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例公开了一种基于机器视觉的药盒内药袋数量的检测方法,包括以下步骤:
S1、图像预处理:实时采集药品生产线上药盒中药袋的原始图像,并对原始图像进行预处理,得到二值图像。
S2、图像细化:采用细化算法提取二值图像中的药袋轮廓,得到图像骨架。
S3、多区域轮廓统计:将图像骨架分成长度相等的多个区域,提取每个区域中的各个药袋的轮廓,并计算每个区域的轮廓数量;
遍历全部区域的轮廓数量,取其中重复率最高的数值作为药盒内药袋的最终计数结果。
本发明实施例中的药袋原始图像通过工业相机实时采集药品生产流水线上的药盒获得。由于相机位置和生产线的特点,所采集到的图像内药盒的位置基本是固定的。可以将图像通过掩码运算的方式剪裁到只保留药盒部分以便对药袋进行数量检测。观察图像可以发现,药袋形状不规则,排列方式存在多样性,甚至存在药袋贴合过于紧密的情况,这就给准确识别药袋数量增加了难度。如果想准确检测出药盒图像内药袋的数量,需要通过图像预处理操作对其进行去噪,以便后期进行药袋数量检测。
具体的,S1中,根据采集药袋图像的特点,提取并处理图像中的感兴趣区域。首先将采集到的图像通过加权平均法对其进行灰度化处理,去除图像中丰富的颜色信息从而提高处理速度。然后对其进行图像缩放和裁剪,使图像缩小到合适尺寸,并将图像内非药盒的干扰部分裁剪掉,从而减少后期需要处理的信息量,有效提高图像处理速度。然后对图像进行高斯平滑操作,去除干扰噪声。最后使用otsu大津法进行阈值分割,分离药袋前景和背景图像。分别对药盒a和药盒b中药袋图像进行预处理,图像预处理前如图2a-2b所示,预处理后效果如图3a-3b所示,观察二值图可以看出,药袋区域均被保留下来,而图像中大部分干扰背景和纹理已经被剔除。
S3中,图像经过预处理后,虽然药袋前景特征明显,但由于其形状不规则,不便于进行计数处理。因此,本发明将二值图像进行细化。细化算法的目的就是为了方便描述、抽取目标的线性特征。数学形态学细化算法的主要思想是源于击中击不中变换的形态学算法。在给定一系列具有一定形状的结构元素后,在结构元素与其覆盖的二值图像中某一区域完全相同时,则该区域中心像素点被标记,并顺序循环地删除满足击中变换的像素(即被标记的像素点)。
本发明细化算法按从左上角到右下角的顺序进行,处理完一个过程即为一次迭代,“迭代”反复进行,直到没有一个像素的值被改变为止。其中迭代的次数依赖于图像的大小、纹线的形状和图像的质量。通过细化算法处理,我们可以将图像中药袋轮廓的骨架提取出来,从而将贴合的药袋分离,以便于检测出正确的药袋数量。
算法迭代分为两个过程,分别为子过程1和子过程2,其中,子过程1的判断条件如下:
2≤N(P0)≤6........(1)
N(P0)=1..............(2)
P1×P3×P5=0.........(3);
P3×P5×P7=0.........(4)
其中,P0为前景点,如果同时满足上述四个条件,则判断P0为可删除的点;条件1判断P0是否为端点,如果P0仅有一个邻点,则为端点,不能被标记;如果P0有七个邻点,为保证图像骨架的连通性,不能被标记;条件2检测P0的8个邻点是否有0到1之间的变化;条件3标记P0的8个邻点中东南边的非骨架像素点;条件4标记P0的8邻点中西北角的非骨架像素点;
子过程2的判断过程为:
2≤N(P0)≤6........(5)
N(P0)=1..............(6)
P1×P5×P7=0.........(7);
P1×P3×P7=0.........(8)
其中,P0如果同时满足上述四个条件,则判断P0为可删除的点;条件5和条件6通子过程1中的条件1和条件2;条件7标记P0的8各邻点中西北边的非骨架像素点;条件8标记P0的8各邻点中东南角的非骨架像素点。
重复迭代上述两个子过程,对二值图像中的非骨架像素点进行标记。在迭代过程中检测是否有被标记的点,若有则继续重复进行迭代过程;反之则删除所有被标记的点,细化算法结束。此时剩下的点所构成的区域即为图像的骨架。如图4a-4b所示,为经过细化算法后的效果图。
通过观察细化图像可以发现,对于一般药袋来说,细化后会形成一条细长的曲线段,而两个贴合药袋在经过细化操作后,在药袋之间形成了一条连通的短线,同时可以看出,某些干扰纹理也被细化成了很小的曲线段。可以用周长作条件对图像中的轮廓进行有选择的提取,从而将细化了的干扰纹理排除。对于药袋排列整齐的图像来说,可以通过统计轮廓提取操作得到的轮廓数即可知道药盒图像中的药袋数,但对于存在药袋贴合情况的图像而言,两个贴合药袋被识别成了同一个轮廓,这种轮廓统计方法就会误判。
基于上述情况,本实施例采用了S3中的多区域轮廓统计方法,具体为:
首先将细化后的药盒图像中的药袋的横向放置方向作为横坐标,按横坐标分成长度相等的十个区域,使每个区域均包含药盒中各个药袋的部分图像骨架;然后对每个区域都进行边缘掩码运算,将每个图像的边缘像素灰度值置为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表示药盒内药袋的最终计数结果。
如图5a-5b所示,细化后的图像通过多区域轮廓提取,分别获取到了十个区域的轮廓数量。由于图像中包含药盒上下边缘轮廓信息,在轮廓数量统计时也会被计入,因此在提取每个区域中的轮廓数量时,都对其进行减2处理。通过观察处理结果可以发现,十个区域中的轮廓检测结果各有不同,其原因是当检测区域内不存在曲线段分叉或曲线段之间粘连的情况时,最终检测到的轮廓数量即为药袋的数量(如图6所示)。反之,若检测区域内存在曲线段分叉,且分叉点不在该区域时时(如图7所示),检测到的轮廓数将超过药袋数量。如果检测区域内存在药袋粘连情况时(如图8所示),那么检测结果将会小于药袋数量。
下面通过实验对本发明基于机器视觉的药盒内药袋数量的检测方法进行验证。
本发明通过大量样本测试,在多区域轮廓检测的过程中,虽然药袋粘连时会出现检测轮廓数和药袋数不一致的情况,但这样的区域相比于其他区域来说毕竟是少数。因此通过多区域轮廓统计的处理方式,可以有效避免传统轮廓计数方法对于药袋粘连情况的错检问题。本实验通过100张样本图像测试,传统的轮廓检测方法由于药袋贴合问题只能正确检测46张,而优化后的基于机器视觉的药袋轮廓计数方法准确检测出99张,误检1张,准确率为99%。
表1药袋计数方法效果对比
传统轮廓检测 | 多区域轮廓检测 | |
检测总数(张) | 100 | 100 |
正确检测(张) | 46 | 99 |
错误检测(张) | 54 | 1 |
准确率 | 46% | 99% |
由此可以得出,本发明对药盒内药袋的数量统计具有高准确率,能够应对药盒中药袋不规则排列的情况,精度和实用性均较高,实现了工业生产中的实时监测。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (4)
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各邻点中东南角的非骨架像素点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110501961.0A CN113284095B (zh) | 2021-05-08 | 2021-05-08 | 一种基于机器视觉的药盒内药袋数量的检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110501961.0A CN113284095B (zh) | 2021-05-08 | 2021-05-08 | 一种基于机器视觉的药盒内药袋数量的检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113284095A CN113284095A (zh) | 2021-08-20 |
CN113284095B true CN113284095B (zh) | 2023-08-25 |
Family
ID=77278256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110501961.0A Active CN113284095B (zh) | 2021-05-08 | 2021-05-08 | 一种基于机器视觉的药盒内药袋数量的检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113284095B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116129331B (zh) * | 2023-04-12 | 2023-07-04 | 成都航空职业技术学院 | 一种回转体零件表面通孔个数统计方法及装置 |
CN117152415B (zh) * | 2023-09-01 | 2024-04-23 | 北京奥乘智能技术有限公司 | 药品包装的标记物检测方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530889A (zh) * | 2013-11-04 | 2014-01-22 | 天津工业大学 | 一种基于骨架提取的测量棒编码标记点解码方法 |
CN107194402A (zh) * | 2017-04-02 | 2017-09-22 | 南京汇川图像视觉技术有限公司 | 一种并行细化骨架提取方法 |
CN111199551A (zh) * | 2020-01-06 | 2020-05-26 | 北京农业信息技术研究中心 | 一种鱼类重叠图像的目标分割方法及系统 |
CN112419250A (zh) * | 2020-11-13 | 2021-02-26 | 湖北工业大学 | 路面裂缝数字图像提取、裂缝修补及裂缝参数计算方法 |
CN112541942A (zh) * | 2020-12-08 | 2021-03-23 | 深圳市华成工业控制股份有限公司 | 一种基于距离变换的中药丸视觉引导定位方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108364280B (zh) * | 2018-01-03 | 2022-04-15 | 东南大学 | 结构裂缝自动化描绘及宽度精准测量方法与设备 |
-
2021
- 2021-05-08 CN CN202110501961.0A patent/CN113284095B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530889A (zh) * | 2013-11-04 | 2014-01-22 | 天津工业大学 | 一种基于骨架提取的测量棒编码标记点解码方法 |
CN107194402A (zh) * | 2017-04-02 | 2017-09-22 | 南京汇川图像视觉技术有限公司 | 一种并行细化骨架提取方法 |
CN111199551A (zh) * | 2020-01-06 | 2020-05-26 | 北京农业信息技术研究中心 | 一种鱼类重叠图像的目标分割方法及系统 |
CN112419250A (zh) * | 2020-11-13 | 2021-02-26 | 湖北工业大学 | 路面裂缝数字图像提取、裂缝修补及裂缝参数计算方法 |
CN112541942A (zh) * | 2020-12-08 | 2021-03-23 | 深圳市华成工业控制股份有限公司 | 一种基于距离变换的中药丸视觉引导定位方法 |
Non-Patent Citations (1)
Title |
---|
基于机器视觉的药袋数量检测系统设计与研究;罗楚坤;《中国优秀硕士学位论文全文数据库 (工程科技Ⅰ辑)》(第01期);B016-2434 * |
Also Published As
Publication number | Publication date |
---|---|
CN113284095A (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113284095B (zh) | 一种基于机器视觉的药盒内药袋数量的检测方法 | |
CN111179225B (zh) | 一种基于灰度梯度聚类的试纸表面纹理缺陷检测方法 | |
CN104677914B (zh) | 一种芯片连晶缺陷识别方法 | |
CN112712512A (zh) | 一种基于人工智能的热轧带钢结疤缺陷检测方法及系统 | |
CN108960011B (zh) | 部分遮挡的柑橘果实图像识别方法 | |
CN106709524B (zh) | 一种电气工程图中的元件符号检测与识别方法 | |
CN106529602A (zh) | 一种毫米波图像自动目标识别方法及装置 | |
CN108376403B (zh) | 基于霍夫圆变换的网格菌落图像分割方法 | |
CN106651882A (zh) | 一种基于机器视觉的燕窝杂质识别与检测方法及装置 | |
CN109800619B (zh) | 成熟期柑橘果实图像识别方法 | |
CN104091157A (zh) | 一种基于特征融合的行人检测方法 | |
CN112132153B (zh) | 基于聚类和形态学处理的番茄果实识别方法及系统 | |
CN111754538B (zh) | Usb表面缺陷检测的阈值分割方法 | |
CN104422628B (zh) | 基于维氏硬度的压痕图像识别方法及系统 | |
CN110348461A (zh) | 一种工件表面缺陷特征提取方法 | |
CN107180422A (zh) | 一种基于词袋特征的标贴破损检测方法 | |
CN106529551B (zh) | 面向包装行业的类圆对象智能识别计数检测方法 | |
CN112560941A (zh) | 基于图像检测的煤矸识别方法 | |
CN114627116B (zh) | 一种基于人工智能的织物疵点识别方法及系统 | |
CN110276759B (zh) | 一种基于机器视觉的手机屏坏线缺陷诊断方法 | |
CN105654090A (zh) | 一种基于曲线波动度描述的行人轮廓检测方法 | |
CN112381867B (zh) | 用于工业分拣流水线的大面积深度图像空洞自动填充方法 | |
CN109596620A (zh) | 基于机器视觉的产品表面形状缺陷检测方法和系统 | |
CN108269264B (zh) | 豆籽粒图像的去噪及分形方法 | |
CN106803259A (zh) | 一种流水作业平台烟条自动视觉检测与计数方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |