一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于图像处理的干枣质量分类方法及系统与流程

2022-07-31 06:29:51 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,具体涉及一种基于图像处理的干枣质量分类方法及系统。


背景技术:

2.枣在成熟期水分失调容易引发开裂,裂果在干制后会在枣的开裂位置形成一条裂痕,枣果的裂口处更容易受到细菌微生物的侵害导致腐烂发霉,因此在包装前需要将带有裂痕的枣单独挑选出来,并且评估红枣的裂痕的严重性,以便估算枣裂痕对枣品质的影响。
3.目前,常用的对干枣进行质量检测的方法为用阈值分割得到干枣裂痕的区域,或者是用分水岭算法分割干枣裂痕区域;但是由于干枣的表面有皱缩且表面凹凸不平;用阈值分割或者用分水岭算法会把干枣裂痕区域分成过多的独立区域,会存在过分割问题,还会将非裂痕区域识别为裂痕,精确度较低。


技术实现要素:

4.为了解决上述技术问题,本发明的目的在于提供一种基于图像处理的干枣质量分类方法及系统,所采用的技术方案具体如下:
5.第一方面,本发明一个实施例提供了一种基于图像处理的干枣质量分类方法,该方法包括以下步骤:
6.采集干枣图像,所述干枣图像包括多个干枣;分割所述干枣图像中的所述干枣得到多个干枣区域;
7.获取所述干枣区域中像素值小于预设像素值阈值的第一异常像素点,得到多个第一异常区域;对每个所述第一异常区域进行区域生长得到第二异常区域,第二异常区域的面积大于第一异常区域的面积时更新所述第一异常区域为裂纹基准区域;
8.根据各所述裂纹基准区域的主方向进行拟合得到拟合曲线;获取所述拟合曲线上的各像素点垂直方向上对应的排列熵,得到对应的排列熵序列;大于等于预设排列熵阈值的排列熵对应的像素点为目标异常像素点,获取所述目标异常像素点的数量;目标异常像素点的数量和所述拟合曲线上总像素点数量之比为参考异常指标;获取所述排列熵序列中目标异常像素点之间的异常间隔距离,由所述异常间隔距离中的最大距离计算所述裂纹基准区域的异常占比,根据所述异常占比得到平均异常像素占比,所述平均异常像素占比为所述两个相邻裂纹基准区域的连通性;所述参考异常指标和所述连通性相乘得到两个相邻所述裂纹基准区域的裂纹概率;
9.根据所述第一异常区域、所述裂纹基准区域和所述裂纹概率对干枣进行分类。
10.优选的,所述分割所述干枣图像中的所述干枣得到多个干枣区域,包括:
11.所述干枣图像转换为hsv干枣图像;
12.提取所述hsv干枣图像中红色区域的像素点,所述红色区域的像素点的像素值置为1,非红色区域的像素点的像素值置为0,得到干枣区域二值图;
13.提取所述干枣区域二值图中的多个连通域;每个连通域与所述干枣图像相乘得到多个所述干枣区域。
14.优选的,所述获取所述干枣区域中像素值小于预设像素值阈值的第一异常像素点,得到多个第一异常区域,包括:
15.所述第一异常像素点的像素值置为1,所述干枣区域中像素值大于预设像素值阈值的像素点的像素值置为0;
16.由所述像素值为1的像素点得到多个第一异常区域。
17.优选的,所述根据各所述裂纹基准区域的主方向进行拟合得到拟合曲线,包括:
18.获取所述两个相邻裂纹基准区域的最小外接矩形;
19.获取各所述裂纹基准区域的长轴,得到所述两个相邻裂纹基准区域的长轴交点;
20.若所述长轴交点在所述最小外接矩形内,根据所述长轴与所述裂纹基准区域的交点、所述裂纹基准区域的中心点和所述长轴交点进行拟合得到一条拟合曲线;
21.若所述长轴交点在所述最小外接矩形外,根据所述长轴与所述裂纹基准区域的交点和所述裂纹基准区域的中心点进行拟合得到一条拟合曲线。
22.优选的,所述获取所述拟合曲线上的各像素点垂直方向上对应的排列熵,包括:
23.获取所述拟合曲线上各像素点的垂直方向上预设数量内的像素点作为目标像素点;
24.计算目标像素点的像素值对应的排列熵。
25.优选的,所述获取所述排列熵序列中目标异常像素点之间的异常间隔距离,由所述异常间隔距离中的最大距离计算所述裂纹基准区域的异常占比,包括:
26.所述拟合曲线上总像素点数量与所述异常间隔距离中的最大距离作差得到异常数量;
27.所述异常数量和所述拟合曲线上总像素点数量的比值为所述异常占比。
28.优选的,所述根据所述异常占比得到平均异常像素占比,包括:
29.根据所述异常占比和所述异常间隔距离的数量得到平均异常像素占比;
30.所述平均异常像素占比的计算公式为:
[0031][0032]
其中,f为所述平均异常像素占比;e为所述异常间隔距离的数量;d为所述拟合曲线上总像素点数量;e为所述异常间隔距离的最大距离;为所述异常占比。
[0033]
第二方面,本发明一个实施例提供了一种基于图像处理的干枣质量分类系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于一种基于图像处理的干枣质量分类方法。
[0034]
本发明实施例至少具有如下有益效果:
[0035]
本发明实施例利用图像处理技术,根据采集到的包含有多个干枣的干枣图像分割出多个干枣区域,获取干枣区域中的第一异常像素点,得到多个第一异常区域;对第一异常区域进行区域生长得到第二异常区域,根据第二异常区域和第一异常区域的面积变化得到裂纹基准区域,通过得到裂纹基准区域先对干枣区域的裂纹进行一个初步判断,在裂纹基
准区域的基础上对相邻两个裂纹基准区域进行判断,避免了将非裂纹区域识别成裂纹;获取各裂纹基准区域的长轴,基于任意两个相邻裂纹基准区域,由长轴和裂纹基准区域拟合一条拟合曲线;获取拟合曲线上各像素点垂直方向上对应的排列熵,用排列熵来反映拟合曲线上各像素点垂直方向上的目标像素值变化序列的复杂程度,排列熵越大,对应的垂直方向上的目标像素值变化序列越复杂,则说明对应的拟合曲线像素点越有可能是裂纹区域上的像素点;由排列熵得到目标异常像素点及其数量,由目标异常像素点数量和拟合曲线上总像素点数量之比得到参考异常指标;计算目标异常像素点数量的异常占比,根据异常占比得到平均异常像素占比,该平均异常像素占比即为两个相邻裂纹基准区域的连通性,根据参考异常指标和连通性得到两个相邻裂纹基准区域的裂纹概率,参考异常指标越大说明相邻两个裂纹基准区域是同一条裂纹的概率越大。根据第一异常区域、裂纹基准区域和裂纹概率对干枣进行分类。本发明实施例通过干枣区域中的异常区域得到裂纹基准区域,由裂纹基准区域和裂纹基准区域的长轴拟合一条拟合曲线,由该拟合曲线上各像素点垂直方向对应的排列熵得到两个相邻裂纹基准区域的参考异常指标和连通性,由连通性和参考异常指标得到裂纹概率,达到了避免将非裂纹区域识别为裂纹的目的,提高了裂纹识别的精准度。
附图说明
[0036]
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0037]
图1为本发明一个实施例所提供的一种基于图像处理的干枣质量分类方法的方法流程图;
[0038]
图2为本发明一个实施例所提供的计算两个相邻裂纹基准区域的裂纹概率的步骤流程图。
具体实施方式
[0039]
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于图像处理的干枣质量分类方法及系统,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构、或特点可由任何合适形式组合。
[0040]
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
[0041]
本发明实施例提供了一种基于图像处理的干枣质量分类方法及系统的一种具体实施方法,该方法适用于干枣质量分类场景。干枣传送带上放置有多个干枣,正对传送带视角安装有一个rgb相机,其rgb相机的光轴垂直于传送带获取传送带图像,用于采集传送带上的干枣图像。为了解决干枣区域分割成独立区域时,由于过分割而导致的将非裂纹区域识别为裂纹,精确度较低的问题,本发明实施例通过干枣区域中的异常区域得到裂纹基准
区域,由裂纹基准区域和裂纹基准区域的长轴拟合一条拟合曲线,由该拟合曲线上各像素点垂直方向对应的排列熵得到两个相邻裂纹基准区域的参考异常指标和连通性,由连通性和参考异常指标得到裂纹概率,达到了避免将非裂纹区域识别为裂纹的目的,提高裂纹识别的精准度。
[0042]
下面结合附图具体的说明本发明所提供的一种基于图像处理的干枣质量分类方法的具体方案。
[0043]
请参阅图1,其示出了本发明一个实施例提供的一种基于图像处理的干枣质量分类方法的步骤流程图,该方法包括以下步骤:
[0044]
步骤s100,采集干枣图像,干枣图像包括多个干枣;分割干枣图像中的干枣得到多个干枣区域。
[0045]
在干枣传送带正上方设置一个rgb相机,其rgb相机的光轴垂直于干枣传送带,采集干枣图像,该干枣图像中包含多个干枣。
[0046]
将rgb相机采集到的干枣图像转换为hsv干枣图像。其将rgb图像转换为hsv图像的方式是公知的,在本发明实施例中不再赘述。
[0047]
由于干枣的成像颜色为红色,因此对于hsv干枣图像,提取hsv干枣图像中红色区域的像素点,即在h通道中取值范围为[0
°
,15
°
]和[350
°
,365
°
]的像素点,将红色区域的像素点的像素值置为1,非红色区域的像素点的像素值置为0,得到干枣区域二值图。
[0048]
提取干枣区域二值图中的多个像素值为1的像素点构成的连通域。每个连通域与干枣图像相乘得到多个干枣区域,即分割干枣图像中的干枣得到多个干枣区域。
[0049]
步骤s200,获取干枣区域中像素值小于预设像素值阈值的第一异常像素点,得到多个第一异常区域;对每个第一异常区域进行区域生长得到第二异常区域,第二异常区域的面积大于第一异常区域的面积时更新第一异常区域为裂纹基准区域。
[0050]
由于干枣表面有较多的褶皱,存在灰度变化,裂纹区域由于皱缩较为严重,所以灰度变化较为明显,裂纹区域的灰度值较小,沿着垂直于裂纹方向的灰度值变化曲线呈山谷状。通过对第一异常区域进行分析,确定裂纹基准区域,通过相邻裂纹基准区域的参考异常指标与连通性判断裂纹大小。
[0051]
要获取干枣的裂痕基准区域首先要获得各干枣区域中的第一异常像素点,根据第一异常像素点得到第一异常区域,获得第一异常区域,具体的:
[0052]
对于每个干枣区域,提取干枣区域中r通道像素值,根据预设像素值阈值确定第一异常像素点。在本发明实施例中预设像素值阈值的取值为51。
[0053]
干枣区域中像素值小于预设像素阈值的像素点作为第一异常像素点,该第一异常像素点的像素值置为1;干枣区域中像素值大于等于预设像素阈值的像素点作为正常像素点,该正常像素点的像素值置为0。
[0054]
由像素值为1的第一异常像素点得到干枣图像的多个干枣区域中的第一异常区域。
[0055]
统计各干枣区域中第一异常区域的数量,若干枣区域的第一异常区域数量为0,则认为该干枣没有裂痕,不再进行后续的分析;若干枣区域的第一异常区域数量不为0,则对该干枣进行后续的检测分析,判断该异常区域是否为裂纹基准区域。
[0056]
判断第一异常区域是否为裂纹基准区域的步骤为:以第一异常区域中心点为种子
点,对第一异常区域进行区域生长,生长后的区域作为第二异常区域,由于裂纹区域是因为皱缩造成的灰度值变化的情况,所以是裂纹区域的第一异常区域附近的灰度变化为渐变的,而脏污或者气体影响导致的黑斑周围不存在渐变,为突变。所以采用区域生长的方法对异常区域进行判断,当第二异常区域的面积比第一异常区域的面积大时,则更新该第一异常区域为裂纹基准区域;否则作为脏污或者其他,不再进行后续的分析,其中区域面积为区域内像素点的数量。
[0057]
步骤s300,根据各裂纹基准区域的主方向进行拟合得到拟合曲线;获取拟合曲线上的各像素点垂直方向上对应的排列熵,得到对应的排列熵序列;大于等于预设排列熵阈值的排列熵对应的像素点为目标异常像素点,获取目标异常像素点的数量;目标异常像素点的数量和拟合曲线上总像素点数量之比为参考异常指标;获取排列熵序列中目标异常像素点之间的异常间隔距离,由异常间隔距离中的最大距离计算裂纹基准区域的异常占比,根据异常占比得到平均异常像素占比,平均异常像素占比为两个相邻裂纹基准区域的连通性;参考异常指标和连通性相乘得到两个相邻裂纹基准区域的裂纹概率。
[0058]
对根据步骤s200得到的裂纹基准区域进行后续的分析。请参阅图2,计算两个相邻裂纹基准区域的裂纹概率的步骤,具体的:
[0059]
步骤s301,根据各裂纹基准区域的主方向进行拟合得到拟合曲线。
[0060]
首先获取各裂纹基准区域的长轴。
[0061]
基于任意相邻的裂纹基准区域a和裂纹基准区域b,获取裂纹基准区域a和裂纹基准区域b的最小外接矩形,并获取裂纹基准区域a和裂纹基准区域b的长轴交点i。若长轴交点i在裂纹基准区域a和裂纹基准区域b的最小外接矩形内,则根据长轴与裂纹基准区域a和裂纹基准区域b的交点、裂纹基准区域a的中心点、裂纹基准区域b的中心点和长轴交点进行拟合得到一条拟合曲线;
[0062]
若长轴交点i在裂纹基准区域a和裂纹基准区域b的最小外接矩形外,则根据长轴与裂纹基准区域a和裂纹基准区域b的交点、裂纹基准区域a的中心点和裂纹基准区域b的中心点进行拟合得到一条拟合曲线。
[0063]
步骤s302,获取拟合曲线上的各像素点垂直方向上对应的排列熵。
[0064]
裂纹基准区域a的长轴与裂纹基准区域a有两个交点a1和a2;裂纹基准区域b的长轴与裂纹基准区域b有两个交点b1和b2;将交点a1、a2、b1和b2中距离最远的两个交点作为拟合曲线的两个端点。基于拟合曲线上各像素点的垂直方向上,获取预设数量的像素点作为目标像素点,该目标像素点包含拟合曲线上的像素点。在本发明实施例中预设数量为101,即对于拟合曲线上的像素点沿垂直方向上向上取50个像素点,向下取50个像素点。
[0065]
获取目标像素点的像素值所构成的目标像素值变化序列。由于垂直于裂纹区域的像素点越靠近裂纹其像素值就越小,因此该目标像素值变化序列曲线类似于山谷,即对应的像素值变化序列复杂;而垂直于非裂纹区域的像素点,由于其不存在裂纹所以没有像素值特别小的像素点,相对来说非裂纹区域像素点对应的目标像素值变化序列曲线比较平缓,没有裂纹区域像素点对应的目标像素值变化序列复杂。故可计算拟合曲线上各像素点垂直方向上对应的目标像素点的排列熵,即计算目标像素值变化序列的排列熵,用该排列熵来反映垂直于拟合曲线的目标像素值变化序列的复杂程度。该目标像素值变化序列的长度为预设数量大小,即在本发明实施例中目标像素值变化序列的长度为101,在后续步骤中
将目标像素值变化序列的长度用n表示。
[0066]
该目标像素值变化序列可以记为[u(1),u(2),u(3)

u(n)],规定一个嵌入维度m与一个时间延迟l,通过将原目标像素值变化序列进行重构,将重构后的子序列用x(i)表示,其中x(i)=u(i),u(i l),

,u(i (m-1)l)。对每个重构后的子序列x(i)内部进行递增排序,若两个值相等,则按角标进行排序,即一个m维的序列x(i)被映射到了m!中(j1,j2,
…jm
)排列中的其中之一。将连续的m维子空间用一个这样的符号序列表示,符号序列的个数有m!个。所有符号序列的概率分布用p1,p2…
pk表示,其中符号序列的数量k≤m!。
[0067]
目标像素值变化序列的排列熵的计算公式为:
[0068][0069]
其中,k表示符号序列的数量,pj表示第j个符号序列的概率分布。
[0070]
为了方便表示,对排列熵进行归一化。当时,h(m)就达到最大值ln(m!);所以为了方便通常用ln(m!)将h(m)进行归一化处理。
[0071]
该归一化的排列熵的计算公式为:
[0072][0073]
排列熵为目标像素值变化序列的指标,越规则的目标像素值变化序列,即该目标像素值变化序列越简单,所对应的排列熵越小;反之,越复杂的目标像素值变化序列所对应的排列熵越大。
[0074]
步骤s303,获取拟合曲线对应的参考异常指标。
[0075]
获取拟合曲线上各像素点垂直方向上目标像素点对应的排列熵。
[0076]
因为裂纹区域的灰度序列越复杂,其对应的排列熵越大。大于等于预设排列熵阈值的排列熵对应的像素点为目标异常像素点,获取目标异常像素点的数量。在本发明实施例中预设排列熵阈值的取值为0.7。
[0077]
目标异常像素点数量和拟合曲线上总像素点数量之比为参考异常指标。
[0078]
参考异常指标越大,两个相邻裂纹基准区域为一条裂纹的概率越大。
[0079]
步骤s304,获取拟合曲线对应的连通性。
[0080]
根据归一化后排列熵的值判断拟合曲线的连通性。
[0081]
将小于预设排列熵阈值的排列熵对应的像素点作为正常像素点。由拟合曲线上各像素点垂直方向上对应的排列熵构成排列熵序列,获取排列熵序列中目标异常像素点之间的异常间隔距离和异常间隔距离中的最大距离。设排列熵序列p为{0.7,0.8,0.6,0.2,0.1,0.5,0.8,0.9,0.7,0.3,0.2,0.4,0.9,0.9,0.5},则对于该排列熵序列p来说异常间隔距离的数量为3,分别是{0.6,0.2,0.1,0.5},{0.3,0.2,0.4},{0.5},异常间隔距离的最大距离即为4,即{0.6,0.2,0.1,0.5}中所含的对应的像素点数量最多。
[0082]
拟合曲线上总像素点数量与异常间隔距离中最大距离作差得到异常数量;异常数量和拟合曲线上总像素点数量的比值为异常占比;
[0083]
根据异常占比和异常间隔距离的数量得到平均异常像素占比;
[0084]
该平均异常像素占比f的计算公式为:
[0085][0086]
其中,e为异常间隔距离的数量;d为拟合曲线上总像素点数量;e为异常间隔距离的最大距离;为异常占比。
[0087]
该平均异常像素占比能够反映两个相邻裂纹基准区域的连通性,即平均异常像素占比也称为连通性。即两个裂纹基准区域中的间隔数量越多,其连通性越差;间隔越大,即间隔中像素点的数量越多,其连通性也越差。
[0088]
步骤s305,参考异常指标和连通域相乘得到两个相邻裂纹基准区域的裂纹概率。
[0089]
若得到的裂纹概率大于等于预设裂纹概率,则认为对应的两个裂纹基准区域为同一条裂纹,且两个相邻裂纹基准区域均为裂纹;若得到的裂纹概率小于预设裂纹概率,则认为对应的两个裂纹基准区域不是同一条裂纹,且两个裂纹基准区域不一定为裂纹。在本发明实施例中预设裂纹概率的取值为0.8。
[0090]
故参考异常指标越大,连通性越好,裂纹概率越大,即两个相邻裂纹基准区域为同一条裂纹的概率越大,且这两个相邻裂纹基准区域为裂纹的概率也就越大。
[0091]
步骤s400,根据第一异常区域、裂纹基准区域和裂纹概率对干枣进行分类。
[0092]
根据步骤s200~步骤s300得到的第一异常区域、裂纹基准区域和裂纹概率对干枣进行品质分类。具体的:
[0093]
(1)判断干枣区域中是否存在第一异常区域。若干枣区域中不存在第一异常区域,则对应的干枣被分类为优品干枣;若干枣区域中存在第一异常区域,则对应的干枣进入第一待选区域。
[0094]
(2)判断位于第一待选区域中干枣的干枣区域是否存在裂纹基准区域。若干枣区域中无裂纹基准区域,则对应的干枣被分类为良品干枣;若干枣区域中存在裂纹基准区域,则对应的干枣进入第二待选区域。
[0095]
(3)根据干枣区域中裂纹基准区域对应的裂纹概率对位于第二待选区域中的干枣进行分类。若干枣区域中裂纹基准区域仅有一组相邻的裂纹基准区域,即两个相邻裂纹基准区域的裂纹概率大于预设概率,则对应的干枣作为次品干枣;若干枣区域中裂纹基准区域中有超过两组的相邻裂纹基准区域的裂纹概率大于预设概率,则对应的干枣不可作为商品进行售卖,进入回收区。
[0096]
综上所述,本发明实施例利用图像处理技术,根据采集到的包含有多个干枣的干枣图像分割出多个干枣区域,获取干枣区域中的第一异常像素点,得到多个第一异常区域;对第一异常区域进行区域生长得到第二异常区域,根据第二异常区域和第一异常区域的面积变化得到裂纹基准区域;获取各裂纹基准区域的长轴,基于任意两个相邻裂纹基准区域,由长轴和裂纹基准区域拟合一条拟合曲线;获取拟合曲线上各像素点垂直方向上对应的排列熵,由排列熵得到目标异常像素点及其数量,由目标异常像素点数量和拟合曲线上总像素点数量之比得到参考异常指标;计算目标异常像素点数量的异常占比,根据异常占比得到平均异常像素占比,该平均异常像素占比即为两个相邻裂纹基准区域的连通性,根据参考异常指标和连通性得到两个相邻裂纹基准区域的裂纹概率。根据第一异常区域、裂纹基
准区域和裂纹概率对干枣进行分类。本发明实施例通过干枣区域中的异常区域得到裂纹基准区域,由裂纹基准区域和裂纹基准区域的长轴拟合一条拟合曲线,由该拟合曲线上各像素点垂直方向对应的排列熵得到两个相邻裂纹基准区域的参考异常指标和连通性,由连通性和参考异常指标得到裂纹概率,达到了避免将非裂纹区域识别为裂纹的目的,提高了裂纹识别的精准度。
[0097]
一种基于图像处理的干枣质量分类系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。由于一种基于图像处理的干枣质量分类方法在上述给出了详细描述,不再赘述。
[0098]
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0099]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
[0100]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献