CN115294167B - 基于数据处理的蚕茧数目识别方法 - Google Patents
基于数据处理的蚕茧数目识别方法 Download PDFInfo
- Publication number
- CN115294167B CN115294167B CN202211219492.4A CN202211219492A CN115294167B CN 115294167 B CN115294167 B CN 115294167B CN 202211219492 A CN202211219492 A CN 202211219492A CN 115294167 B CN115294167 B CN 115294167B
- Authority
- CN
- China
- Prior art keywords
- cocoon
- silkworm cocoon
- silkworm
- binary image
- pixel point
- 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
- 241000255789 Bombyx mori Species 0.000 title claims abstract description 361
- 238000012545 processing Methods 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000001914 filtration Methods 0.000 claims abstract description 48
- 230000008859 change Effects 0.000 claims abstract description 47
- 238000004891 communication Methods 0.000 claims description 148
- 239000000853 adhesive Substances 0.000 claims description 20
- 230000001070 adhesive effect Effects 0.000 claims description 20
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 7
- 239000000126 substance Substances 0.000 claims description 5
- 230000001464 adherent effect Effects 0.000 claims description 2
- 230000009466 transformation Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000012258 culturing Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 208000003464 asthenopia Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/187—Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
-
- 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/11—Region-based 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/30—Subject of image; Context of image processing
- G06T2207/30242—Counting objects in image
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及数据处理技术领域,具体涉及一种基于数据处理的蚕茧数目识别方法,该方法利用可见光图像电子设备识别蚕茧RGB图像,对RGB图像进行数据处理,得到第一蚕茧二值图;对第一蚕茧二值图进行数据距离变换,得到第二蚕茧二值图;对第二蚕茧二值图进行数据滤波处理,得到第三蚕茧二值图;对第三蚕茧二值图进行连通域提取,得到各个蚕茧连通域,若各个蚕茧连通域中存在粘连蚕茧连通域,则确定各个粘连蚕茧连通域对应的边缘曲率变化周期数以确定粘连蚕茧连通域对应的蚕茧数目,进而确定最终的蚕茧数目。本发明通过获取蚕茧RGB图像,并进行相关的数据和识别处理,可准确确定蚕茧数目,有效避免了蚕茧粘连情况对蚕茧计数的影响。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种基于数据处理的蚕茧数目识别方法。
背景技术
自古以来中国就是一个养殖蚕茧的大国,经过多年的发展,养殖技术不断提升。目前,随着人们生活条件的不断提高,对丝绸产品的质量要求也越来越高,这就需要在生丝过程中严格把控生产技术及工艺流程。在丝绸产品的生产过程中,生丝纤度与蚕茧的平均粒数存在对应关系,可以通过分拣固定数量的蚕茧来控制生丝的重量,从而保证生丝的品质。在分拣固定数目的蚕茧时,由于蚕茧表面覆盖了一层蚕丝,多个蚕茧之间非常容易粘连在一起形成整个块状,为了确保蚕茧数目绝对精确,一般由人工来对蚕茧进行分拣计数,每次分拣出固定数目的蚕茧用于生丝。但是,人工计数不仅步骤繁杂,耗时耗力,而且在计数过程中,由于长时间的工作,容易造成视觉疲劳,导致计数错误,多数、漏数的情况经常发生。
随着机器视觉的发展,现已出现通过对图像进行数据识别从而确定蚕茧数目的方法,但是这类方法一般通过连通域提取的方式来对蚕茧计数,有多少个连通域就有多少个蚕茧,由于对蚕茧之间的粘连问题考虑不足,当两个甚至多蚕茧的边缘粘连到一起时,就很容易出现少计、漏计的现象,进而导致蚕茧计数结果不准确。
发明内容
本发明的目的在于提供一种基于数据处理的蚕茧数目识别方法,用于解决现有蚕茧计数结果不准确的问题。
为解决上述技术问题,本发明提供了一种基于数据处理的蚕茧数目识别方法 ,包括以下步骤:
获取蚕茧RGB图像,对RGB图像进行数据处理,得到第一蚕茧二值图;
对第一蚕茧二值图进行数据距离变换,从而得到蚕茧距离图,并根据蚕茧距离图,得到第二蚕茧二值图;
根据第二蚕茧二值图,确定第二蚕茧二值图中每个像素点对应的窗口区域,并根据第二蚕茧二值图中每个像素点对应的窗口区域中各个像素点的梯度幅值和像素值,确定第二蚕茧二值图中每个像素点对应的滤波像素值;
根据第二蚕茧二值图中每个像素点对应的滤波像素值,对第二蚕茧二值图进行数据滤波处理,从而得到蚕茧滤波图;
根据蚕茧滤波图,得到第三蚕茧二值图,对第三蚕茧二值图进行连通域提取,从而得到各个蚕茧连通域;
确定各个蚕茧连通域对应的圆度,并根据各个蚕茧连通域对应的圆度,确定各个蚕茧连通域中是否存在粘连蚕茧连通域;
若存在粘连蚕茧连通域,则确定各个粘连蚕茧连通域对应的边缘曲率变化周期数,并根据边缘曲率变化周期数,确定各个粘连蚕茧连通域对应的蚕茧数目;
根据各个粘连蚕茧连通域对应的蚕茧数目以及各个蚕茧连通域中除了各个粘连蚕茧连通域以外的其他蚕茧连通域的数目,确定最终的蚕茧数目。
进一步的,对第一蚕茧二值图进行数据距离变换,从而得到蚕茧距离图,包括:
根据第一蚕茧二值图,确定第一蚕茧二值图中的各个背景像素点;
确定第一蚕茧二值图中的各个像素点到与其最近的背景像素点的距离值;
根据第一蚕茧二值图中的各个像素点对应的距离值,确定蚕茧距离图,所述蚕茧距离图中各个像素点的像素值为第一蚕茧二值图中对应位置的像素点对应的距离值。
进一步的,确定第二蚕茧二值图中每个像素点对应的滤波像素值,包括:
根据第二蚕茧二值图中每个像素点对应的窗口区域中各个像素点的梯度幅值,确定第二蚕茧二值图中每个像素点对应的窗口区域中梯度幅值为零的各个像素点;
根据第二蚕茧二值图中每个像素点对应的窗口区域中梯度幅值为零的各个像素点的像素值,确定第二蚕茧二值图中每个像素点对应的替代像素值;
根据第二蚕茧二值图中每个像素点对应的窗口区域中各个像素点的像素值,确定第二蚕茧二值图中每个像素点对应的窗口区域中的蚕茧像素点在各个设定方向上出现的次数;
根据第二蚕茧二值图中每个像素点对应的窗口区域中的蚕茧像素点在各个设定方向上出现的次数,确定同一窗口区域中的蚕茧像素点在各个设定方向上出现的次数的最小值和最大值,从而得到第二蚕茧二值图中每个像素点对应的蚕茧像素方向比例值;
根据第二蚕茧二值图中每个像素点对应的替代像素值和蚕茧像素方向比例值,计算第二蚕茧二值图中每个像素点对应的滤波像素值。
进一步的,确定第二蚕茧二值图中每个像素点对应的替代像素值对应的计算公式为:
其中,为第二蚕茧二值图中每个像素点对应的替代像素值,N为第二蚕茧二值图中每个像素点对应的窗口区域中梯度幅值为零的像素点的总数目,为第二蚕茧二值图中每个像素点对应的窗口区域中梯度幅值为零的第i个像素点的像素值。
进一步的,对第二蚕茧二值图进行数据滤波处理,从而得到蚕茧滤波图,包括:
根据第二蚕茧二值图中每个像素点对应的滤波像素值,得到蚕茧滤波图,所述蚕茧滤波图中每个像素点的像素值为第二蚕茧二值图中对应位置的像素点对应的滤波像素值。
进一步的,确定各个蚕茧连通域对应的圆度,包括:
根据各个蚕茧连通域,确定各个蚕茧连通域的面积和周长;
根据各个蚕茧连通域的面积和周长,计算各个蚕茧连通域对应的圆度,对应的计算公式为:
进一步的,确定各个蚕茧连通域中是否存在粘连蚕茧连通域,包括:
分别判断各个蚕茧连通域对应的圆度是否位于设定圆度范围内,若存在某个蚕茧连通域对应的圆度不位于设定圆度范围内,则确定各个蚕茧连通域中存在粘连蚕茧连通域,并将圆度不位于设定圆度范围内对应的各个蚕茧连通域确定为各个粘连蚕茧连通域。
进一步的,则确定各个粘连蚕茧连通域对应的边缘曲率变化周期数,包括:
根据各个粘连蚕茧连通域,确定每个粘连蚕茧连通域的各个边缘像素点;
确定每个粘连蚕茧连通域的各个边缘像素点的曲率,从而得到每个粘连蚕茧连通域对应的曲率序列;
根据每个粘连蚕茧连通域对应的曲率序列,确定曲率序列中各个曲率对应的变化规律,从而得到各个粘连蚕茧连通域对应的边缘曲率变化周期数。
进一步的,确定各个粘连蚕茧连通域对应的蚕茧数目,包括:
根据各个粘连蚕茧连通域对应的边缘曲率变化周期数,计算边缘曲率变化周期数与设定周期数的比值,并将该比值作为对应粘连蚕茧连通域对应的蚕茧数目。
进一步的,确定第二蚕茧二值图中每个像素点对应的窗口区域,包括:
以第二蚕茧二值图中每个像素点为中心,并以设定长度为边长,确定正方形区域,将该正方形区域作为第二蚕茧二值图中对应像素点对应的窗口区域。
本发明具有如下有益效果:通过获取蚕茧RGB图像,对RGB图像进行数据处理,得到第一蚕茧二值图,为了初步减小蚕茧粘连区域,通过对第一蚕茧二值图进行数据距离变换,得到第二蚕茧二值图。然后为了进一步减小蚕茧粘连区域,确定第二蚕茧二值图中每个像素点对应的滤波像素值,并基于滤波像素值对第二蚕茧二值图进行数据滤波处理,得到第三蚕茧二值图。对第三蚕茧二值图进行连通域提取,从而得到各个蚕茧连通域,通过对各个蚕茧连通域进行分析,当各个蚕茧连通域中存在粘连蚕茧连通域时,则通过确定各个粘连蚕茧连通域对应的边缘曲率变化周期数,来确定各个粘连蚕茧连通域对应的蚕茧数目,进而确定最终的蚕茧数目,进一步避免了蚕茧粘连较大的区域对蚕茧计数精确度的影响。由于本发明通过获取蚕茧RGB图像,并进行相关的数据和识别处理,充分考虑了蚕茧之间的粘连情况,有效保证了蚕茧计数的准确性,为后续工作提供了可靠的蚕茧数量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1为本发明实施例的基于数据处理的蚕茧数目识别方法的流程图;
图2为本发明实施例的蚕茧RGB图像的示意图;
图3为本发明实施例的各个设定方向的示意图;
图4为本发明实施例的确定单个椭圆的曲率序列中各个曲率对应的变化规律的示意图;
图5为本发明实施例的确定存在粘连的两个椭圆的曲率序列中各个曲率对应的变化规律的示意图。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的技术方案的具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
为了解决由于蚕茧存在粘连现象,进而导致蚕茧计数不准确的问题,本实施例提供了一种基于数据处理的蚕茧数目识别方法,该方法对应的流程图如图1所示,包括以下步骤:
步骤S1:获取蚕茧RGB图像,对RGB图像进行数据处理,得到第一蚕茧二值图。
采用CMOS相机对待计数的蚕茧进行拍摄,从而得到蚕茧RGB图像,图2给出了蚕茧RGB图像的示意图。然后根据信噪比的大小,选择信噪比最大的高斯滤波对蚕茧RGB图像进行去噪处理,得到去噪处理后的蚕茧RGB图像。
考虑到蚕茧RGB图像在拍摄时会因光照不均匀而增加图像中蚕茧识别的难度,因此为了增加蚕茧图像的对比度,减小光照不充分对蚕茧识别的影响,对于去噪处理后的蚕茧RGB图像,首先分离RGB三通道,然后分别对每一个通道进行直方图均衡化处理,最后再将处理后的三个通道重新组合成三通道彩色图像,从而得到均衡化处理后的蚕茧RGB图像。
将均衡化处理后的蚕茧RGB图像转化为灰度图,然后采用基于阈值的二值化方法对灰度图进行二值化处理,从而得到第一蚕茧二值图。在本实施例中,在对灰度图进行二值化处理时,将阈值设置为100,当灰度图中像素点的灰度值大于100时,则将对应的像素点的像素值设置为1,此时该像素点为蚕茧像素点,当灰度图中像素点的灰度值小于或等于100时,则将对应的像素点的像素值设置为0,此时该像素点为背景像素点,从而得到第一蚕茧二值图。
步骤S2:对第一蚕茧二值图进行数据距离变换,从而得到蚕茧距离图,并根据蚕茧距离图,得到第二蚕茧二值图。
在第一蚕茧二值图中,蚕茧的粘连现象还比较多,蚕茧之间会存在边缘在一起的现象,因此对第一蚕茧二值图进行数据距离变换,从而得到蚕茧距离图,具体实现过程包括:
步骤S21:根据第一蚕茧二值图,确定第一蚕茧二值图中的各个背景像素点。
在第一蚕茧二值图中,由于蚕茧像素点的像素值为1,而背景像素点的像素值为0,因此找到第一蚕茧二值图中所有像素值为0的像素点,这些像素点即为各个背景像素点。
步骤S22:确定第一蚕茧二值图中的各个像素点到与其最近的背景像素点的距离值。
对于第一蚕茧二值图中的各个像素点,这里的各个像素点包括蚕茧像素点和背景像素点,求各个像素点分别到与其最近的像素值为0的像素点的距离值,该距离值可以用像素点的数目来表征。对于蚕茧像素点,其对应的距离值会大于0,而对于背景像素点,由于与其最近的像素值为0的像素点是其本身,因此其对应的距离值为0。
步骤S23:根据第一蚕茧二值图中的各个像素点对应的距离值,确定蚕茧距离图,所述蚕茧距离图中各个像素点的像素值为第一蚕茧二值图中对应位置的像素点对应的距离值。
根据第一蚕茧二值图中的各个像素点对应的距离值,将该距离值直接作为对应的像素点的像素值,从而可以得到数据距离变换后的蚕茧距离图。
在通过上述步骤S21- S23得到蚕茧距离图之后,再次使用基于阈值的二值化方法对蚕茧距离图进行二值化处理,从而得到第二蚕茧二值图。在本实施例中,在对蚕茧距离图进行二值化处理时,将阈值设置为1,并将蚕茧距离图中像素值大于1的像素点的像素值设置为1,将其他像素点的像素值设置为0,从而得到第二蚕茧二值图。该第二蚕茧二值图与第一蚕茧二值图相比,蚕茧之间的粘连情况会减轻,蚕茧之间边缘接触的情况会减少。
步骤S3:根据第二蚕茧二值图,确定第二蚕茧二值图中每个像素点对应的窗口区域,并根据第二蚕茧二值图中每个像素点对应的窗口区域中各个像素点的梯度幅值和像素值,确定第二蚕茧二值图中每个像素点对应的滤波像素值。
通过对蚕茧RGB图像进行分析可知,与蚕茧本身相比,蚕茧粘连部分的长度和宽度较小,因此在第二蚕茧二值图中,蚕茧粘连部分的像素值为1的像素点的个数与蚕茧本身相比是较小的,同时蚕茧内部的像素点的梯度相同且都为0,但是蚕茧粘连部分的梯度为0的像素点的个数则较小。
基于上述分析,首先确定第二蚕茧二值图中每个像素点对应的窗口区域。在确定第二蚕茧二值图中每个像素点对应的窗口区域时,以第二蚕茧二值图中每个像素点为中心,并以设定长度为边长,确定正方形区域,将该正方形区域作为第二蚕茧二值图中对应像素点对应的窗口区域。例如,对于第二蚕茧二值图中任意一个像素点g(x,y),以该像素点g(x,y)为中心,确定s×s大小的窗口,该窗口即为像素点g(x,y)对应的窗口区域。窗口区域的大小可以根据蚕茧大小和蚕茧边缘粘连部分的大小来选择,本实施例设置窗口区域的大小为5×5。
在确定第二蚕茧二值图中每个像素点对应的窗口区域之后,为了便于后续对第二蚕茧二值图进行数据滤波处理,以进一步减小蚕茧粘连情况,基于该窗口区域中各个像素点的梯度幅值和像素值,确定第二蚕茧二值图中每个像素点对应的滤波像素值,具体实现步骤包括:
步骤S31:根据第二蚕茧二值图中每个像素点对应的窗口区域中各个像素点的梯度幅值,确定第二蚕茧二值图中每个像素点对应的窗口区域中梯度幅值为零的各个像素点。
对于第二蚕茧二值图中的每个像素点,计算该像素点对应的窗口区域中各个像素点的梯度幅值,当窗口区域中某个像素点位于蚕茧或者背景区域的内部时,则该某个像素点的梯度幅值为0,当窗口区域中某个像素点位于蚕茧的边缘附近或者位于蚕茧粘连区域时,则该某个像素点的梯度幅值可能为0也可能为1。通过对第二蚕茧二值图中的每个像素点对应的窗口区域中各个像素点的梯度幅值进行统计,从而可以确定第二蚕茧二值图中每个像素点对应的窗口区域中梯度幅值为零的各个像素点。
步骤S32:根据第二蚕茧二值图中每个像素点对应的窗口区域中梯度幅值为零的各个像素点的像素值,确定第二蚕茧二值图中每个像素点对应的替代像素值。
对于二蚕茧二值图中的每个像素点,假设其对应的窗口区域中梯度幅值为零的像素点的总数目为N,根据这N个梯度幅值为零的像素点的像素值,计算第二蚕茧二值图中每个像素点对应的替代像素值,对应的计算公式为:
其中,为第二蚕茧二值图中每个像素点对应的替代像素值,N为第二蚕茧二值图中每个像素点对应的窗口区域中梯度幅值为零的像素点的总数目,为第二蚕茧二值图中每个像素点对应的窗口区域中梯度幅值为零的第i个像素点的像素值。
对于二蚕茧二值图中的每个像素点,当该像素点位于蚕茧区域的内部时,由于其对应的窗口区域中的各个像素点的梯度幅值为0且像素值为1,此时该像素点对应的替代像素值为1;当该像素点位于背景区域的内部时,由于其对应的窗口区域中的各个像素点的梯度幅值为0且像素值为0,此时该像素点对应的替代像素值为0;当该像素点位于粘连区域或者蚕茧区域的边缘时,由于其对应的窗口区域中的各个像素点的梯度幅值为0或1,而梯度幅值为0的各个像素点的像素值为0或1,此时该像素点对应的替代像素值位于0和1之间。
步骤S33:根据第二蚕茧二值图中每个像素点对应的窗口区域中各个像素点的像素值,确定第二蚕茧二值图中每个像素点对应的窗口区域中的蚕茧像素点在各个设定方向上出现的次数。
由于蚕茧粘连处与蚕茧本身相比大小存在差异,蚕茧粘连处总有一个方向上像素值为1的像素点的数目较少。基于这一特征,对于第二蚕茧二值图中的每个像素点,统计该像素点对应的窗口区域中的像素值为1的蚕茧像素点在各个设定方向上出现的次数。如图3所示,这里的各个设定方向分别是指水平方向、垂直方向、倾斜45度方向和倾斜135度方向。为了便于理解,如下面的表1所示,该表1示出了第二蚕茧二值图中某个像素点对应的窗口区域中各个像素点的像素值,像素值1对应蚕茧像素点,像素值0对应背景像素点,此时表1中像素值1在垂直方向上出现的次数为3,在水平方向上出现的次数为2,在倾斜45度方向和倾斜135度方向上出现的次数均为1。
表1
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 0 | 0 |
0 | 1 | 1 | 0 | 0 |
0 | 1 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 |
步骤S34:根据第二蚕茧二值图中每个像素点对应的窗口区域中的蚕茧像素点在各个设定方向上出现的次数,确定同一窗口区域中的蚕茧像素点在各个设定方向上出现的次数的最小值和最大值,从而得到第二蚕茧二值图中每个像素点对应的蚕茧像素方向比例值。
对于第二蚕茧二值图中的每个像素点,当该像素点对应的窗口区域中的蚕茧像素点在各个设定方向上出现的次数的最大值q不为0时,则计算计算该像素点对应的窗口区域中的蚕茧像素点在各个设定方向上出现的次数的最小值p与最大值q的比值,并将该比值作为该像素点对应的蚕茧像素方向比例值。如上面的表1所示,此时该表1对应的第二蚕茧二值图中某个像素点的蚕茧像素方向比例值。当该像素点对应的窗口区域中的蚕茧像素点在各个设定方向上出现的次数的最大值q为0时,则直接将该像素点对应的蚕茧像素方向比例值W确定为0。
对于第二蚕茧二值图中的每个像素点,当该像素点位于蚕茧区域的内部时,由于其对应的窗口区域中蚕茧像素点在各个设定方向上出现的次数的最小值与最大值相同,此时该像素点对应的蚕茧像素方向比例值为1;当该像素点位于背景区域的内部时,由于其对应的窗口区域中蚕茧像素点的数目为0,此时该像素点对应的蚕茧像素方向比例值为0;当该像素点位于粘连区域或者蚕茧区域的边缘时,由于其对应的窗口区域中蚕茧像素点在各个设定方向上出现的次数的最小值与最大值不同,此时该像素点对应的蚕茧像素方向比例值位于0和1之间。
步骤S35:根据第二蚕茧二值图中每个像素点对应的替代像素值和蚕茧像素方向比例值,计算第二蚕茧二值图中每个像素点对应的滤波像素值。
对于第二蚕茧二值图中的每个像素点,当该像素点位于蚕茧区域的内部时,由于其对应替代像素值和蚕茧像素方向比例值均为1,因此其对应的滤波像素值为1;当该像素点位于背景区域的内部时,由于其对应的替代像素值和蚕茧像素方向比例值均为0,因此其对应的滤波像素值为0;当该像素点位于粘连区域或者蚕茧区域的边缘时,由于其对应的替代像素值和蚕茧像素方向比例值均位于0和1之间,因此其对应的滤波像素值也位于0和1之间。
步骤S4:根据第二蚕茧二值图中每个像素点对应的滤波像素值,对第二蚕茧二值图进行数据滤波处理,从而得到蚕茧滤波图,具体实现步骤包括:
根据第二蚕茧二值图中每个像素点对应的滤波像素值,得到蚕茧滤波图,所述蚕茧滤波图中每个像素点的像素值为第二蚕茧二值图中对应位置的像素点对应的滤波像素值。也就是,根据第二蚕茧二值图中每个像素点对应的滤波像素值,将该滤波像素值作为对应像素点的像素值,从而可以得到蚕茧滤波图。
上述步骤S4通过将第二蚕茧二值图中每个像素点对应的滤波像素值,也就是将第二蚕茧二值图中每个像素点对应的替代像素值和蚕茧像素方向比例值的乘积值直接作为第二蚕茧二值图中对应像素点的像素值,以实现对第二蚕茧二值图的数据滤波处理,这样可以使蚕茧粘连处的像素值变小,而蚕茧内部的像素值不会有太大的变化,以便于后续可以很好的解决蚕茧粘连对蚕茧计数的影响问题。
步骤S5:根据蚕茧滤波图,得到第三蚕茧二值图,对第三蚕茧二值图进行连通域提取,从而得到各个蚕茧连通域。
采用基于阈值的二值化方法对蚕茧滤波图进行二值化处理,从而得到第三蚕茧二值图。在本实施例中,在对蚕茧滤波图进行二值化处理时,将阈值设置为0.6,当蚕茧滤波图中像素点的灰度值大于0.6时,则将对应的像素点的像素值设置为1,此时该像素点为蚕茧像素点,当蚕茧滤波图中像素点的灰度值小于或等于0.6时,则将对应的像素点的像素值设置为0,此时该像素点为背景像素点,从而得到第三蚕茧二值图。
在得到第三蚕茧二值图之后,对该第三蚕茧二值图进行连通域提取,即对第三蚕茧二值图中像素值为1的像素点进行连通域提取,从而可以得到各个蚕茧连通域。由于进行连通域提取的具体实现过程属于现有技术,此处不再赘述。
步骤S6:确定各个蚕茧连通域对应的圆度,并根据各个蚕茧连通域对应的圆度,对各个蚕茧连通域进行筛选,确定各个蚕茧连通域中是否存在粘连蚕茧连通域。
在第三蚕茧二值图中,蚕茧边缘的粘连情况与原图相比会大大减少,但第三蚕茧二值图中可能仍然会出现一些轻微的粘连现象,若此时直接使用连通域提取的方法对蚕茧进行计数,可能会出现计数不准确的问题。因此,为了避免后续出现计数不准确的问题,本实施例对连通域提取出来的各个蚕茧连通域进行判断,判断这些蚕茧连通域是否存在蚕茧粘连,如果不存在,则连通域提取的结果即为蚕茧的个数,此时无需后面的复杂计算,如果某一蚕茧连通域存在粘连,则单独对该蚕茧连通域的蚕茧个数进行计算。
为了判断连通域提取出来的各个蚕茧连通域是否存在蚕茧粘连,确定各个蚕茧连通域对应的圆度,具体实现步骤包括:
根据各个蚕茧连通域,确定各个蚕茧连通域的面积和周长。在确定各个蚕茧连通域的面积时,直接将每个蚕茧连通域中所包含的像素点的个数作为对应蚕茧连通域的面积,在确定各个蚕茧连通域的周长时,直接将每个蚕茧连通域的边缘像素点的个数作为对应蚕茧连通域的周长。
根据各个蚕茧连通域的面积和周长,计算各个蚕茧连通域对应的圆度,对应的计算公式为:
由于蚕茧的形状都近似是椭圆,所以在不存在粘连的情况下,这些蚕茧连通域的圆度相差不大,如果有圆度较小或者较大的蚕茧连通域出现时,则说明这个蚕茧连通域存在粘连。基于这一特点,对各个蚕茧连通域进行筛选,从而确定各个蚕茧连通域中是否存在粘连蚕茧连通域。具体的,分别判断各个蚕茧连通域对应的圆度是否位于设定圆度范围内,若存在某个蚕茧连通域对应的圆度不位于设定圆度范围内,则确定各个蚕茧连通域中存在粘连蚕茧连通域,并将圆度不位于设定圆度范围内对应的各个蚕茧连通域确定为各个粘连蚕茧连通域,同时将位于设定圆度范围内对应的各个蚕茧连通域确定为各个单蚕茧连通域。其中,设定圆度范围是根据单个蚕茧对应的连通域的圆度情况来确定的,在本实施例中,设置设定圆度范围为(0.6,0.8)。
当对各个蚕茧连通域进行筛选后,若所有蚕茧连通域均为单蚕茧连通域,此时则可以直接对这些单蚕茧连通域进行计数,单蚕茧连通域的总数目即为蚕茧的数目。若所有蚕茧连通域中存在粘连蚕茧连通域,后续则需要对粘连蚕茧连通域进行分析,以确定粘连蚕茧连通域对应的蚕茧数目。
步骤S7:若存在粘连蚕茧连通域,则确定各个粘连蚕茧连通域对应的边缘曲率变化周期数,并根据边缘曲率变化周期数,确定各个粘连蚕茧连通域对应的蚕茧数目。
当所有蚕茧连通域中存在粘连蚕茧连通域时,此时对于每个粘连蚕茧连通域,需要确定该粘连蚕茧连通域对应的边缘曲率变化周期数,以便于后续确定该粘连蚕茧连通域对应的蚕茧数目,具体实现步骤包括:
步骤S71:根据各个粘连蚕茧连通域,确定每个粘连蚕茧连通域的各个边缘像素点。
根据各个粘连蚕茧连通域,利用边缘检测算法,可以确定每个粘连蚕茧连通域的各个边缘像素,由于其具体实现过程属于现有技术,此处不再赘述。
步骤S72:确定每个粘连蚕茧连通域的各个边缘像素点的曲率,从而得到每个粘连蚕茧连通域对应的曲率序列。
根据每个粘连蚕茧连通域的各个边缘像素点的位置,可以确定每个粘连蚕茧连通域的各个边缘像素点的曲率,由于曲率的具体确定过程属于现有技术,此处不再赘述。在得到每个粘连蚕茧连通域的各个边缘像素点的曲率之后,按照各个边缘像素点在对应粘连蚕茧连通域边缘上的位置排列情况,对各个边缘像素点的曲率进行排序,从而可以得到每个粘连蚕茧连通域对应的曲率序列。
步骤S73:根据每个粘连蚕茧连通域对应的曲率序列,确定曲率序列中各个曲率对应的变化规律,从而得到各个粘连蚕茧连通域对应的边缘曲率变化周期数。
由于蚕茧的边缘是近似椭圆的,椭圆的曲率是呈周期性变化的,对于单个椭圆,当从椭圆边缘上任意一点开始,然后沿着椭圆边缘按照一定方向移动,椭圆的曲率的变化规律为:小大小大小、小大小大小大、大小大小大或大小大小大小。如图4所示,从该椭圆的长轴的端点a开始,沿着椭圆边缘按照箭头方向移动,此时椭圆的曲率的变化规律为:小大小大小。对于存在粘连的两个椭圆,当从椭圆边缘上任意一点开始,然后沿着椭圆边缘按照一定方向移动,椭圆的曲率的变化规律为:小大小大小大小大小、小大小大小大小大小大、大小大小大小大小大或大小大小大小大小大小。如图5所示,对于存在粘连的两个椭圆,当从椭圆的长轴的端点b开始,然后沿着椭圆边缘按照箭头方向移动,该存在粘连的两个椭圆的曲率的变化规律为:小大小大小大小大小。
通过对每个粘连蚕茧连通域对应的曲率序列各个曲率对应的变化规律进行分析,将每个曲率序列各个曲率对应的变化规律中的前两个变化过程作为一个变化周期,然后将整个率序列各个曲率对应的变化规律中所包含的变化周期的总数目作为粘连蚕茧连通域对应的边缘曲率变化周期数。如图4所示,该椭圆的曲率的变化规律中的前两个变化过程为小大小,而整个椭圆的曲率的变化规律中包含2个小大小,因此该椭圆对应的边缘曲率变化周期数为2。如图5所示,该存在粘连的两个椭圆的变化规律中的前两个变化过程为小大小,而该存在粘连的两个椭圆的曲率的变化规律中包含4个小大小,此时该存在粘连的两个椭圆应的边缘曲率变化周期数为4。
需要说明的是,上述步骤S71- S73仅仅是给出了一种确定各个粘连蚕茧连通域对应的边缘曲率变化周期数的具体实施方式,作为其他的实施方式,在通过上述步骤S72得到每个粘连蚕茧连通域对应的曲率序列后,按照前后顺序对曲率序列中的各个曲率进行编号,然后以曲率序列中的各个曲率为纵坐标,并以各个曲率对应的编号为横坐标,进行曲线拟合,确定拟合曲线的波峰数目和波谷数目,当该拟合曲线上首次出现的是波峰时,则直接将波峰数目作为对应粘连蚕茧连通域对应的边缘曲率变化周期数,若该拟合曲线上首次出现的是波谷时,则直接将波谷数目作为对应粘连蚕茧连通域对应的边缘曲率变化周期数。
在确定各个粘连蚕茧连通域对应的边缘曲率变化周期数之后,计算边缘曲率变化周期数与设定周期数的比值,并将该比值作为对应粘连蚕茧连通域对应的蚕茧数目。在本实施例中,该设定周期数设置为2,假设某个粘连蚕茧连通域对应的边缘曲率变化周期数为,那么此时该粘连蚕茧连通域对应的蚕茧数目。通过这种方式,可以得到各个粘连蚕茧连通域对应的蚕茧数目。
步骤S8:根据各个粘连蚕茧连通域对应的蚕茧数目以及各个蚕茧连通域中除了各个粘连蚕茧连通域以外的其他蚕茧连通域的数目,确定最终的蚕茧数目。
根据上述步骤S6可知,各个蚕茧连通域中除了各个粘连蚕茧连通域以外的其他蚕茧连通域为单蚕茧连通域,每个单蚕茧连通域对应一个蚕茧,因此将各个粘连蚕茧连通域对应的蚕茧数目以及单蚕茧连通域的数目进行累加,该累加和即为最终的蚕茧数目。
本发明通过获取蚕茧RGB图像,进而得到第一蚕茧二值图,为了初步减小蚕茧粘连区域,通过对第一蚕茧二值图进行数据距离变换,得到第二蚕茧二值图。然后为了进一步减小蚕茧粘连区域,确定第二蚕茧二值图中每个像素点对应的滤波像素值,并基于滤波像素值对第二蚕茧二值图进行数据滤波处理,得到第三蚕茧二值图。对第三蚕茧二值图进行连通域提取,从而得到各个蚕茧连通域,通过对各个蚕茧连通域进行分析,当各个蚕茧连通域中不存在粘连蚕茧连通域时,则直接根据蚕茧连通域的数目确定最终的蚕茧数目,此时在没有提高多少计算量的前提下,避免了蚕茧粘连情况对蚕茧计数精确度的影响,有效保证了蚕茧计数的准确性;当各个蚕茧连通域中存在粘连蚕茧连通域时,则通过确定各个粘连蚕茧连通域对应的边缘曲率变化周期数,来确定各个粘连蚕茧连通域对应的蚕茧数目,进而确定最终的蚕茧数目,虽然增大了一定的计算量,但是避免了蚕茧粘连较多的区域对蚕茧计数精确度的影响,有效保证了蚕茧计数的准确性,为后续工作提供可靠的蚕茧数量。
需要说明的是:以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (9)
1.一种基于数据处理的蚕茧数目识别方法 ,其特征在于,包括以下步骤:
获取蚕茧RGB图像,对RGB图像进行数据处理,得到第一蚕茧二值图;
对第一蚕茧二值图进行数据距离变换,从而得到蚕茧距离图,并根据蚕茧距离图,得到第二蚕茧二值图;
根据第二蚕茧二值图,确定第二蚕茧二值图中每个像素点对应的窗口区域,并根据第二蚕茧二值图中每个像素点对应的窗口区域中各个像素点的梯度幅值和像素值,确定第二蚕茧二值图中每个像素点对应的滤波像素值;
根据第二蚕茧二值图中每个像素点对应的滤波像素值,对第二蚕茧二值图进行数据滤波处理,从而得到蚕茧滤波图;
根据蚕茧滤波图,得到第三蚕茧二值图,对第三蚕茧二值图进行连通域提取,从而得到各个蚕茧连通域;
确定各个蚕茧连通域对应的圆度,并根据各个蚕茧连通域对应的圆度,确定各个蚕茧连通域中是否存在粘连蚕茧连通域;
若存在粘连蚕茧连通域,则确定各个粘连蚕茧连通域对应的边缘曲率变化周期数,并根据边缘曲率变化周期数,确定各个粘连蚕茧连通域对应的蚕茧数目;
根据各个粘连蚕茧连通域对应的蚕茧数目以及各个蚕茧连通域中除了各个粘连蚕茧连通域以外的其他蚕茧连通域的数目,确定最终的蚕茧数目;
对第一蚕茧二值图进行数据距离变换,从而得到蚕茧距离图,包括:
根据第一蚕茧二值图,确定第一蚕茧二值图中的各个背景像素点;
确定第一蚕茧二值图中的各个像素点到与其最近的背景像素点的距离值;
根据第一蚕茧二值图中的各个像素点对应的距离值,确定蚕茧距离图,所述蚕茧距离图中各个像素点的像素值为第一蚕茧二值图中对应位置的像素点对应的距离值;
使用基于阈值的二值化方法对蚕茧距离图进行二值化处理,从而得到第二蚕茧二值图。
2.根据权利要求1所述的基于数据处理的蚕茧数目识别方法,其特征在于,确定第二蚕茧二值图中每个像素点对应的滤波像素值,包括:
根据第二蚕茧二值图中每个像素点对应的窗口区域中各个像素点的梯度幅值,确定第二蚕茧二值图中每个像素点对应的窗口区域中梯度幅值为零的各个像素点;
根据第二蚕茧二值图中每个像素点对应的窗口区域中梯度幅值为零的各个像素点的像素值,确定第二蚕茧二值图中每个像素点对应的替代像素值;
根据第二蚕茧二值图中每个像素点对应的窗口区域中各个像素点的像素值,确定第二蚕茧二值图中每个像素点对应的窗口区域中的蚕茧像素点在各个设定方向上出现的次数;
根据第二蚕茧二值图中每个像素点对应的窗口区域中的蚕茧像素点在各个设定方向上出现的次数,确定同一窗口区域中的蚕茧像素点在各个设定方向上出现的次数的最小值和最大值,从而得到第二蚕茧二值图中每个像素点对应的蚕茧像素方向比例值;
根据第二蚕茧二值图中每个像素点对应的替代像素值和蚕茧像素方向比例值,计算第二蚕茧二值图中每个像素点对应的滤波像素值。
4.根据权利要求1所述的基于数据处理的蚕茧数目识别方法,其特征在于,对第二蚕茧二值图进行数据滤波处理,从而得到蚕茧滤波图,包括:
根据第二蚕茧二值图中每个像素点对应的滤波像素值,得到蚕茧滤波图,所述蚕茧滤波图中每个像素点的像素值为第二蚕茧二值图中对应位置的像素点对应的滤波像素值。
6.根据权利要求5所述的基于数据处理的蚕茧数目识别方法,其特征在于,确定各个蚕茧连通域中是否存在粘连蚕茧连通域,包括:
分别判断各个蚕茧连通域对应的圆度是否位于设定圆度范围内,若存在某个蚕茧连通域对应的圆度不位于设定圆度范围内,则确定各个蚕茧连通域中存在粘连蚕茧连通域,并将圆度不位于设定圆度范围内对应的各个蚕茧连通域确定为各个粘连蚕茧连通域。
7.根据权利要求1所述的基于数据处理的蚕茧数目识别方法,其特征在于,则确定各个粘连蚕茧连通域对应的边缘曲率变化周期数,包括:
根据各个粘连蚕茧连通域,确定每个粘连蚕茧连通域的各个边缘像素点;
确定每个粘连蚕茧连通域的各个边缘像素点的曲率,从而得到每个粘连蚕茧连通域对应的曲率序列;
根据每个粘连蚕茧连通域对应的曲率序列,确定曲率序列中各个曲率对应的变化规律,从而得到各个粘连蚕茧连通域对应的边缘曲率变化周期数。
8.根据权利要求1所述的基于数据处理的蚕茧数目识别方法,其特征在于,确定各个粘连蚕茧连通域对应的蚕茧数目,包括:
根据各个粘连蚕茧连通域对应的边缘曲率变化周期数,计算边缘曲率变化周期数与设定周期数的比值,并将该比值作为对应粘连蚕茧连通域对应的蚕茧数目。
9.根据权利要求1所述的基于数据处理的蚕茧数目识别方法,其特征在于,确定第二蚕茧二值图中每个像素点对应的窗口区域,包括:
以第二蚕茧二值图中每个像素点为中心,并以设定长度为边长,确定正方形区域,将该正方形区域作为第二蚕茧二值图中对应像素点对应的窗口区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211219492.4A CN115294167B (zh) | 2022-10-08 | 2022-10-08 | 基于数据处理的蚕茧数目识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211219492.4A CN115294167B (zh) | 2022-10-08 | 2022-10-08 | 基于数据处理的蚕茧数目识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115294167A CN115294167A (zh) | 2022-11-04 |
CN115294167B true CN115294167B (zh) | 2022-12-20 |
Family
ID=83833578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211219492.4A Active CN115294167B (zh) | 2022-10-08 | 2022-10-08 | 基于数据处理的蚕茧数目识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115294167B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095957B (zh) * | 2014-05-12 | 2018-01-02 | 浙江理工大学 | 一种基于图像分割的蚕茧计数方法 |
CN107833238B (zh) * | 2017-11-14 | 2020-05-01 | 京东方科技集团股份有限公司 | 最大连通域标记方法、目标跟踪方法、增强现实/虚拟现实装置 |
CN108596891A (zh) * | 2018-04-23 | 2018-09-28 | 中国计量大学 | 一种面向多种类混合蚕茧的计数方法 |
CN111798472A (zh) * | 2020-07-13 | 2020-10-20 | 中国计量大学 | 一种基于hsi空间的绪下茧分割和识别方法 |
CN112446421A (zh) * | 2020-11-06 | 2021-03-05 | 湖州市质量技术监督检测研究院 | 一种基于机器视觉的蚕茧计数与识别方法 |
-
2022
- 2022-10-08 CN CN202211219492.4A patent/CN115294167B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115294167A (zh) | 2022-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107507173B (zh) | 一种全切片图像的无参考清晰度评估方法及系统 | |
CN106446952B (zh) | 一种乐谱图像识别方法及装置 | |
CN109447945B (zh) | 基于机器视觉和图形处理的小麦基本苗快速计数方法 | |
CN108181316B (zh) | 一种基于机器视觉的竹条缺陷检测方法 | |
CN109993099A (zh) | 一种基于机器视觉的车道线提取识别方法 | |
CN109035273B (zh) | 一种免疫层析试纸卡的图像信号快速分割方法 | |
CN108596880A (zh) | 基于图像处理的焊接缺陷特征提取与焊接质量分析方法 | |
CN107610104A (zh) | 一种基于机器视觉的电梯补偿链r处裂纹检测方法 | |
CN114757900A (zh) | 基于人工智能的纺织品缺陷类型识别方法 | |
CN110648330B (zh) | 摄像头玻璃的缺陷检测方法 | |
CN112200160A (zh) | 基于深度学习的直读水表读数识别方法 | |
CN109781737B (zh) | 一种软管表面缺陷的检测方法及其检测系统 | |
CN114723704A (zh) | 一种基于图像处理的纺织品质量评估方法 | |
CN108038838A (zh) | 一种棉麻纤维种类自动检测方法和系统 | |
CN115131348B (zh) | 一种纺织品表面缺陷的检测方法及系统 | |
CN110298344A (zh) | 一种基于机器视觉的仪表旋钮定位与检测方法 | |
CN115331119B (zh) | 一种固体废弃物识别方法 | |
CN110111322A (zh) | 一种基于图像的隧道病害识别系统 | |
CN110021023A (zh) | 一种电子布疵点分割方法 | |
CN115311507B (zh) | 基于数据处理的建筑板材分类方法 | |
CN117253024B (zh) | 一种基于机器视觉的工业盐质检管控方法及系统 | |
CN109871900A (zh) | 一种基于图像处理的复杂背景下苹果的识别定位方法 | |
CN116630813A (zh) | 一种公路路面施工质量智能检测系统 | |
CN117635609B (zh) | 一种塑胶产品生产质量视觉检测方法 | |
CN114549441A (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 |