一种键帽检测方法、装置及电子设备转让专利

申请号 : CN202210694627.6

文献号 : CN114782433B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵玲玲王敏张培远张伟

申请人 : 联宝(合肥)电子科技有限公司

摘要 :

本申请提供了一种键帽检测方法、装置及电子设备;所述方法包括:基于待测键帽的灰度图像,确定所述待测键帽的最小外接矩形;将所述待测键帽的最小外接矩形与所述待测键帽对应的模板图像中模板键帽的最小外接矩形进行比较,得到中间比较结果;基于所述中间比较结果检测所述待测戴帽是否装配正确。本申请提供的键帽检测方法,可以降低人力成本的消耗,提高键帽检测的效率和准确率。

权利要求 :

1.一种键帽检测方法,其特征在于,所述方法包括:

基于待测键帽的灰度图像,确定所述待测键帽的最小外接矩形;

将所述待测键帽的最小外接矩形与所述待测键帽对应的模板图像中模板键帽的最小外接矩形进行比较,得到中间比较结果;

基于所述中间比较结果检测所述待测键帽是否装配正确;

其中,所述基于所述中间比较结果检测所述待测键帽是否装配正确,包括:若所述待测键帽的最小外接矩形的长与所述模板图像中模板键帽的最小外接矩形的长之间的第一差值的绝对值小于或等于第一阈值,且所述待测键帽的最小外接矩形的宽与所述模板图像中模板键帽的最小外接矩形的宽之间的第二差值的绝对值小于或等于第二阈值,则确定所述待测键帽的左上角的第一矩形区域和所述模板键帽的左上角的第二矩形区域,以及确定所述待测键帽的右上角的第三矩形区域和所述模板键帽的右上角的第四矩形区域;将所述第一矩形区域、所述第二矩形区域、所述第三矩形区域和所述第四矩形区域中的每个矩形区域分别进行聚类处理,基于聚类结果检测所述待测键帽是否装配正确。

2.根据权利要求1所述的方法,其特征在于,基于所述待测键帽的灰度图像,确定所述待测键帽的最小外接矩形,包括:基于所述待测键帽的灰度图像,确定所述待测键帽的最大连通域;

基于所述最大连通域,构建凸多边形;

确定所述凸多边形对应的最小外接矩形为所述待测键帽的最小外接矩形。

3.根据权利要求1所述的方法,其特征在于,基于所述待测键帽的灰度图像,确定所述待测键帽的最小外接矩形之后,所述方法还包括:判断所述最小外接矩形是否倾斜;

若所述最小外接矩阵发生倾斜,对所述待测键帽的灰度图像进行矫正处理。

4.根据权利要求1所述的方法,其特征在于,所述将所述待测键帽的最小外接矩形与所述待测键帽对应的模板图像中模板键帽的最小外接矩形进行比较,得到中间比较结果,包括:计算所述待测键帽的最小外接矩形的长与所述模板图像中模板键帽的最小外接矩形的长之间的第一差值;

计算所述待测键帽的最小外接矩形的宽与所述模板图像中模板键帽的最小外接矩形的宽之间的第二差值;

比较所述第一差值的绝对值与预设的第一阈值之间的大小和所述第二差值的绝对值与所述预设的第二阈值之间的大小,得到中间比较结果;

基于所述中间比较结果,检测所述待测键帽是否装配正确。

5.根据权利要求4所述的方法,其特征在于,所述基于所述中间比较结果检测所述待测键帽是否装配正确,包括:若所述第一差值的绝对值大于所述第一阈值,和/或,所述第二差值的绝对值大于所述第二阈值,确定所述待测键帽装配错误。

6.根据权利要求1所述的方法,其特征在于,所述将所述第一矩形区域、所述第二矩形区域、所述第三矩形区域和所述第四矩形区域中的每个矩形区域分别进行聚类处理,基于聚类结果检测所述待测键帽是否装配正确,包括:将所述每个矩形区域进行聚类处理,将所述每个矩形区域中的像素点划分为键帽圆弧区域内和键帽圆弧区域外两个类别;

确定所述第一矩形区域中键帽圆弧区域内像素点的个数与键帽圆弧区域外像素点的个数的比值,与所述第二矩形区域中键帽圆弧内像素点的个数与键帽圆弧区域外像素点的个数的比值之间的第三差值;确定所述第三差值对应的第一绝对值;

确定所述第三矩形区域中键帽圆弧区域内像素点的个数与键帽圆弧区域外像素点的个数的比值,与所述第四矩形区域中键帽圆弧内像素点的个数与键帽圆弧区域外像素点的个数的比值之间的第四差值;确定所述第四差值对应的第二绝对值;

若第一绝对值大于预设的第三阈值,和/或,第二绝对值大于预设的第四阈值,确定所述待测键帽装配错误。

7.一种键帽检测装置,其特征在于,所述装置包括:

最小外接矩形确定模块,用于基于待测键帽的灰度图像,确定所述待测键帽的最小外接矩形;

最小外接矩形比较模块,用于将所述待测键帽的最小外接矩形与所述待测键帽对应的模板图像中模板键帽的最小外接矩形进行比较,得到中间比较结果;

左上角区域和右上角区域检测模块,用于基于所述中间比较结果检测所述待测键帽是否装配正确;

其中,左上角区域和右上角区域检测模块,具体用于:若所述待测键帽的最小外接矩形的长与所述模板图像中模板键帽的最小外接矩形的长之间的第一差值的绝对值小于或等于第一阈值,且所述待测键帽的最小外接矩形的宽与所述模板图像中模板键帽的最小外接矩形的宽之间的第二差值的绝对值小于或等于第二阈值,则确定所述待测键帽的左上角的第一矩形区域和所述模板键帽的左上角的第二矩形区域,以及确定所述待测键帽的右上角的第三矩形区域和所述模板键帽的右上角的第四矩形区域;将所述第一矩形区域、所述第二矩形区域、所述第三矩形区域和所述第四矩形区域中的每个矩形区域分别进行聚类处理,基于聚类结果检测所述待测键帽是否装配正确。

8.一种电子设备,其特征在于,所述电子设备包括:

至少一个处理器;以及与所述至少一个处理器通信连接的存储器;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑6中任一项所述的方法。

9.一种计算机可读存储介质,其特征在于,所述存储介质包括一组计算机可执行指令,当所述指令被执行时用于执行权利要求1‑6任一项所述的键帽检测方法。

说明书 :

一种键帽检测方法、装置及电子设备

技术领域

[0001] 本申请涉及图像处理技术领域,尤其涉及一种键帽检测方法、装置及电子设备。

背景技术

[0002] 目前,键盘键帽种类繁多,大多数现有方案中,仅针对键帽的长宽尺寸进行检测,对具有相同长宽尺寸却边缘不同的键帽的检测,不仅准确率不高,而且需要大量的人力成本投入。因此,提高键帽的检测效率和准确率,是保证产品质量和成本的关键。

发明内容

[0003] 本申请实施例提供一种键帽检测方法、装置及电子设备,可以降低人力成本的消耗,提高键帽检测的效率和准确率。
[0004] 本申请实施例的技术方案是这样实现的:
[0005] 第一方面,本申请实施例提供一种键帽检测方法,包括:
[0006] 基于待测键帽的灰度图像,确定所述待测键帽的最小外接矩形;
[0007] 将所述待测键帽的最小外接矩形与所述待测键帽对应的模板图像中模板键帽的最小外接矩形进行比较,得到中间比较结果;
[0008] 基于所述中间比较结果检测所述待测键帽是否装配正确。
[0009] 在上述方案中,所述基于待测键帽的灰度图像,确定最小外接矩形,包括:
[0010] 基于所述待测键帽的灰度图像,确定所述待测键帽的最大连通域;
[0011] 基于所述最大连通域,构建凸多边形;
[0012] 确定所述凸多边形对应的最小外接矩形为所述待测键帽的最小外接矩形。
[0013] 在上述方案中,所述基于待测键帽的灰度图像,确定所述待测键帽的最小外接矩形之后,所述方法还包括:
[0014] 判断所述最小外接矩形是否倾斜;
[0015] 若所述最小外接矩阵发生倾斜,对所述待测键帽的灰度图像和所述待测键帽的二值图像进行矫正处理。
[0016] 在上述方案中,所述将所述待测键帽的最小外接矩形与所述待测键帽对应的模板图像中模板键帽的最小外接矩形进行比较,得到中间比较结果,包括:
[0017] 计算所述待测键帽的最小外接矩形的长与所述模板图像中模板键帽的最小外接矩形的长之间的第一差值;
[0018] 计算所述待测键帽的最小外接矩形的宽与所述模板图像中模板键帽的最小外接矩形的宽之间的第二差值;
[0019] 比较所述第一差值的绝对值与预设的第一阈值之间的大小和所述第二差值的绝对值与所述预设的第二阈值之间的大小,得到中间比较结果;
[0020] 基于所述中间比较结果,检测所述待测键帽是否装配正确。
[0021] 在上述方案中,所述基于所述中间比较结果检测所述待测键帽是否装配正确,包括:
[0022] 若所述第一差值的绝对值大于所述第一阈值,和/或,所述第二差值的绝对值大于所述第二阈值,确定所述待测键帽装配错误。
[0023] 在上述方案中,若所述第一差值的绝对值小于或等于所述第一阈值,且所述第二差值的绝对值小于或等于所述第二阈值,检测所述待测键帽是否装配正确,包括:
[0024] 基于所述待测键帽的左上角区域和右上角区域,与所述模板图像中模板键帽的左上角区域和右上角区域,检测所述待测键帽是否装配正确。
[0025] 在上述方案中,所述基于所述待测键帽的左上角区域和右上角区域,与所述模板图像中模板键帽的左上角区域和右上角区域,检测所述待测键帽是否装配正确包括:
[0026] 确定所述待测键帽的左上角的第一矩形区域和所述模板键帽的左上角的第二矩形区域;
[0027] 确定所述待测键帽的右上角的第三矩形区域和所述模板键帽的右上角的第四矩形区域;
[0028] 将所述第一矩形区域、所述第二矩形区域、所述第三矩形区域和所述第四矩形区域中的每个矩形区域分别进行聚类处理,基于聚类结果检测所述待测键帽是否装配正确。
[0029] 在上述方案中,所述将所述第一矩形区域、所述第二矩形区域、所述第三矩形区域和所述第四矩形区域中的每个矩形区域分别进行聚类处理,基于聚类结果检测所述待测键帽是否装配正确,包括:
[0030] 将所述每个矩形区域进行聚类处理,将所述每个矩形区域中的像素点划分为键帽圆弧区域内和键帽圆弧区域外两个类别;
[0031] 确定所述第一矩形区域中键帽圆弧区域内像素点的个数与键帽圆弧区域外像素点的个数的比值,与所述第二矩形区域中键帽圆弧内像素点的个数与键帽圆弧区域外像素点的个数的比值之间的第三差值;确定所述第三差值对应的第一绝对值;
[0032] 确定所述第三矩形区域中键帽圆弧区域内像素点的个数与键帽圆弧区域外像素点的个数的比值,与所述第四矩形区域中键帽圆弧内像素点的个数与键帽圆弧区域外像素点的个数的比值之间的第四差值;确定所述第四差值对应的第二绝对值;
[0033] 若第一绝对值大于预设的第三阈值,和/或,第二绝对值大于预设的第四阈值,确定所述待测键帽装配错误。
[0034] 第二方面,本申请实施例提供一种键帽检测装置,所述键帽检测装置包括:
[0035] 最小外接矩形确定模块,用于基于待测键帽的灰度图像,确定所述待测键帽的最小外接矩形;
[0036] 最小外接矩形比较模块,用于将所述待测键帽的最小外接矩形与所述待测键帽对应的模板图像中模板键帽的最小外接矩形进行比较,得到中间比较结果;
[0037] 左上角区域和右上角区域检测模块,基于所述中间比较结果检测所述待测键帽是否装配正确。
[0038] 第三方面,本申请实施例提供一种电子设备,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请实施例提供的键帽检测方法。
[0039] 第四方面,本申请实施例提供一种计算机可读存储介质,所述存储介质包括一组计算机可执行指令,当所述指令被执行时用于执行本申请实施例提供的键帽检测方法。
[0040] 本申请实施例提供的键帽检测方法,基于待测键帽的灰度图像,确定所述待测键帽的最小外接矩形;将所述待测键帽的最小外接矩形与所述待测键帽对应的模板图像中模板键帽的最小外接矩形进行比较,得到中间比较结果;基于所述中间比较结果检测所述待测键帽是否装配正确。本申请提供的键帽检测方法,可以代替人工实现生产检测设备对键帽的自动检测,从而降低人力成本的消耗,提高键帽检测的效率;同时,本申请的提供的键帽检测方法可以实现自动检测尺寸相同却边缘形状不同的键帽,从而提高了键帽检测的准确率。

附图说明

[0041] 附图用于更好地理解本方案,不构成对本申请的限定。其中:
[0042] 图1是本申请实施例提供的键帽检测方法的一种可选处理流程示意图;
[0043] 图2是本申请实施例提供的图像矫正的示意图;
[0044] 图3是本申请实施例提供的键盘图像的示意图;
[0045] 图4是本申请实施例提供的图像处理结果展示图;
[0046] 图5是本申请实施例提供的获取目标的二值图像中左上角圆弧和右上角圆弧的效果图;
[0047] 图6是本申请实施例提供的键帽检测方法的处理流程的示意图;
[0048] 图7是本申请实施例提供的键帽检测装置的一种可选装置结构示意图;
[0049] 图8是本申请实施例提供的实施键帽检测方法的一种电子设备的示意性框图。

具体实施方式

[0050] 为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0051] 在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解, “一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
[0052] 在以下的描述中,所涉及的术语“第一\第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
[0053] 除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
[0054] 下面将介绍本申请实施例提供的一种键帽检测方法,参见图1,图1是本申请实施例提供的键帽检测方法的一种可选处理流程示意图,下面将结合图1示出的步骤S101‑S103并结合图2‑图5进行说明。
[0055] 步骤S101,基于待测键帽的灰度图像,确定所述待测键帽的最小外接矩形。
[0056] 在一些应用场景中,笔记本键盘上的键帽通常由人工进行装配。由于键帽具有生产成本较高,规格种类繁多,同一规格的键帽大小和形状非常相似等特征,键帽的装配工作通常会比较繁琐且容易出错。因此,在键帽装配完成之后,需要及时检测并发现键帽是否存在错装、误装等情况。
[0057] 在一些实施例中,可以对单颗待测键帽的灰度图像进行高斯滤波平滑处理,得到经过平滑处理后的待测键帽的灰度图像;对平滑处理后的待测键帽的灰度图像进行自适应二值化处理,得到待测键帽的二值图像。其中,待测键帽的二值图像呈现出前景区域为白色,背景区域为黑色的视觉效果。由于待测键帽区域是待测键帽二值图像中最大的连通域,因此,待测键帽区域可以通过获取待测键帽的二值图像中最大连通域确定。
[0058] 在一些实施例中,在获取到待测键帽的二值图像中最大连通域之后,可以计算最大连通域的最小外接矩形。可以将最大连通域的边缘位置简化为一个凸多边形,计算此凸多边形的外接矩形中面积最小的矩形。
[0059] 在一些实施例中,在确定待测键帽的最小外接矩形之后,需要判断确定的待测键帽的外接矩形是否倾斜,若待测键帽的外接矩形是倾斜的,则需要对待测键帽的灰度图进行旋转矫正处理。如图2所示,图2是本申请实施例提供的图像矫正的示意图。其中,左图为待测键帽在矫正之前的灰度图像,由于左图中待测键帽的最小外接矩形相对于背景图像是倾斜的,因此需要基于待测键帽的最小外接矩形的倾斜角度,对待测键帽的灰度图进行旋转矫正处理,之后再对矫正之后的待测键帽进行自适应二值化处理。图2的右图为待测键帽在矫正之后的二值图像。
[0060] 在确定待测键帽的最小外接矩形之后,就可以获取待测键帽对应的图像区域。
[0061] 步骤S102,将所述待测键帽的最小外接矩形与所述待测键帽对应的模板图像中模板键帽的最小外接矩形进行比较,得到中间比较结果。
[0062] 在一些实施例中,模板图像可以是一个pdf格式(Portable Document Format,可携带文档格式)的素材文档;若待测图像是笔记本键盘,则模板图像可以理解为一个与笔记本键盘图像一比一的设计图纸。如图3所示,图3为本申请实施例提供的键盘图像的示意图。
[0063] 在一些实施中,当获取到将待测键帽的最小外接矩形后,将待测键帽的最小外接矩形和模板键帽的最小外接矩形进行比对,计算所述待测键帽的最小外接矩形的长与所述模板图像中模板键帽的最小外接矩形的长之间的第一差值;计算所述待测键帽的最小外接矩形的宽与所述模板图像中模板键帽的最小外接矩形的宽之间的第二差值。比较所述第一差值的绝对值与预设的第一阈值之间的大小,以及比较所述第二差值的绝对值与所述预设的第二阈值之间的大小,得到中间比较结果。
[0064] 步骤S103,基于所述中间比较结果检测所述待测键帽是否装配正确。
[0065] 在一些实施例中,在待测键帽的最小外接矩形与模板键帽的最小外接矩形的中间比较结果中,若待测键帽的最小外接矩形的长与所述模板图像中模板键帽的最小外接矩形的长之间的第一差值的绝对值大于所述第一阈值,确定所述待测键帽装配错误;若待测键帽的最小外接矩形的宽与所述模板图像中模板键帽的最小外接矩形的宽之间的第二差值的绝对值大于所述第二阈值,确定所述待测键帽装配错误;若待测键帽的最小外接矩形的长与所述模板图像中模板键帽的最小外接矩形的长之间的第一差值的绝对值大于所述第一阈值,待测键帽的最小外接矩形的宽与所述模板图像中模板键帽的最小外接矩形的宽之间的第二差值的绝对值大于所述第二阈值,确定所述待测键帽装配错误。
[0066] 作为示例,在确定待测键帽的最小外接矩形之后,获取待测键帽最小外接矩形的长的数值信息和宽的数值信息,获取与待测键帽对应的模板图像中模板键帽的最小外接矩形的长的数值信息和宽的数值信息,其中,待测键帽的最小外接矩形的长的数值信息用L表示,宽的数值信息用W表示;模板键帽的最小外接矩形的长的数值信息用ML表示,宽的数值信息用MW表示,第一阈值用Thresh_1表示,第二阈值用Thresh_2表示。若abs(L‑ML)>Thresh_1,确定所述待测键帽装配错误;若abs(L‑ML)>Thresh_2,确定所述待测键帽装配错误;若abs(L‑ML)>Thresh_1且abs(L‑ML)>Thresh_2,确定键帽装配错误。其中,第一阈值的值和第二阈值的值可以在键帽装配的工作经验中获取。
[0067] 在一些实施场景中,有些键帽的尺寸是一样的,但是,键帽两端边缘形状却是不同的,比如有的键帽两端边缘形状是圆弧角的,有些键帽两端边缘形状是直角的。如果待测键帽的最小外接矩形与模板键帽的最小外接矩形的中间比较结果,不满足上述待测键帽装配错误的条件,即待测键帽的最小外接矩形的长与所述模板图像中模板键帽的最小外接矩形的长之间的第一差值的绝对值小于或等于所述第一阈值,且待测键帽的最小外接矩形的宽与所述模板图像中模板键帽的最小外接矩形的宽之间的第二差值的绝对值小于或等于所述第二阈值,要继续对待测键帽进行检测操作。针对上述场景,可以基于所述待测键帽的左上角区域和右上角区域,与所述模板图像中模板键帽的左上角区域和右上角区域,检测所述待测键帽是否装配正确。如图4所示,图4是本申请实施例提供的图像处理结果展示效果图。其中,左侧图片为获取待测键帽灰度图像的左上角区域和右上角区域的展示效果图,右侧图片为获取模板键帽二值图像的左上角区域和右上角区域的展示效果图。
[0068] 在一些实施例中,截取键帽左上角区域和右上角区域时,可以选择截取左上角的正方形区域和右上角的正方形区域,如截取的正方形长度是待测键帽宽度的1/10;或者,可以选择选择截取左上角的长方形区域和右上角的长方形区域,根据键帽二值图像来确定长方形区域的大小,如图4右侧模板键帽二值图像的左上角区域和右上角区域,可以通过左上角黑色部分在键帽二值图像中的消失点获取左上角区域,通过右上角黑色部分在键帽二值图像中的消失点获取右上角区域。
[0069] 在一些实施例中,可以确定待测键帽的左上角的第一矩形区域、模板键帽的左上角的第二矩形区域、待测键帽的右上角的第三矩形区域和所述模板键帽的右上角的第四矩形区域之后,将每个矩形区域进行聚类处理,其中,聚类方法可以使用将每个矩形区域中的像素点划分为键帽圆弧区域内和键帽圆弧区域外两个类别;基于聚类结果检测待测键帽是否装配正确。作为示例,可以选择KMeans聚类方法实现矩形区域中圆弧区域内外像素点的划分。如图5所示,图5是本申请实施例提供的获取目标的二值图像中左上角圆弧和右上角圆弧的效果图。
[0070] 其中,基于聚类结果检测待测键帽是否装配正确的过程为:确定所述第一矩形区域中键帽圆弧区域内像素点的个数与键帽圆弧区域外像素点的个数的比值,与所述第二矩形区域中键帽圆弧内像素点的个数与键帽圆弧区域外像素点的个数的比值之间的第三差值;确定所述第三差值对应的第一绝对值;确定所述第三矩形区域中键帽圆弧区域内像素点的个数与键帽圆弧区域外像素点的个数的比值,与所述第四矩形区域中键帽圆弧内像素点的个数与键帽圆弧区域外像素点的个数的比值之间的第四差值;确定所述第四差值对应的第二绝对值;若第一绝对值大于预设的第三阈值,确定所述待测键帽装配错误;若第二绝对值大于预设的第四阈值,确定所述待测键帽装配错误;若第一绝对值大于预设的第三阈值,并且第二绝对值大于预设的第四阈值,确定所述待测键帽装配错误。
[0071] 作为示例,若待测键帽左上角的第一矩形区域中圆弧区域内像素点的个数与待测键帽左上角的第一矩形区域中圆弧区域外像素点的个数的比值为r1,模板键帽左上角的第二矩形区域中圆弧区域内像素点的个数与模板键帽左上角的第二矩形区域中圆弧区域外像素点的个数的比值为r2,待测键帽右上角的第三矩形区域中圆弧区域内像素点的个数与待测键帽右上角的第三矩形区域中圆弧区域外像素点的个数的比值为r3,模板键帽右上角的第四矩形区域中圆弧区域内像素点的个数与模板键帽右上角的第四矩形区域中圆弧区域外像素点的个数的比值为r4。第三阈值用Thresh_3表示,第四阈值用Thresh_4表示。
[0072] 若abs(r1‑r2)>T3,确定所述待测键帽装配错误;若abs(r3‑r4)>T4,确定所述待测键帽装配错误;若abs(r1‑r2)>T3并且abs(r3‑r4)>T4,,确定键帽装配错误。
[0073] 相应的,若abs(r1‑r2)
[0074] 其中,第三阈值的值和第四阈值的值可以在实际键帽装配的工作经验中获取。
[0075] 在一些工作场景中,上述提供的键帽检测是可以通过生产检测设备自动执行的,既可以降低人力成本,又可以提高检测效率,同时可以避免人工在检测过程中因疲劳带来的检测效率低下以及错检的问题;而且上述的键帽检测的方法不仅检测键帽尺寸,而且会基于键帽上边缘两端的形状对键帽进行检测,避免尺寸相同而边缘两端形状不同导致的误检,可以提高键帽检测的准确率。
[0076] 下面将介绍本申请实施例提供的键帽检测方法的处理流程。如图6所示,图6本申请实施例提供的键帽检测方法的处理流程的示意图。
[0077] 步骤601,对待测键帽进行自适应二值化处理。
[0078] 在一些实施例中,将获取的单颗待测键帽灰度图像进行自适应二值化处理,得到单颗待测键帽的二值图像。
[0079] 步骤602,获取待测键帽的最小外接矩形。
[0080] 在一些实施例中,基于待测键帽的二值图像中最大连通域,计算最大连通域的最小外接矩形。
[0081] 步骤603,判断最小外接矩形是否倾斜。
[0082] 在一些实施例中,在确定待测键帽的最小外接矩形之后,需要判断确定的外接矩形是否倾斜,若该外接矩形是倾斜的,需要对待测键帽的灰度图像进行旋转矫正处理,之后基于矫正之后的灰度图像在进行二值化处理,得到矫正之后的待测键帽的二值图像。
[0083] 步骤604,获取待测键帽的最小外接矩形与待测键帽对应的模板图像中模板键帽的最小外接矩形的中间比较结果。
[0084] 在一些实施例中,获取待测键帽的最小外接矩形与模板键帽的最小外接矩形的中间比较结果的具体过程为:计算所述待测键帽的最小外接矩形的长与所述模板图像中模板键帽的最小外接矩形的长之间的第一差值;计算所述待测键帽的最小外接矩形的宽与所述模板图像中模板键帽的最小外接矩形的宽之间的第二差值。
[0085] 步骤605,判断上述中间比较结果是否在预设的阈值之内。
[0086] 在一些实施例中,判断上述中间比较结果是否在预设的阈值之内的具体过程为:若所述第一差值的绝对值小于或等于所述第一阈值,且所述第二差值的绝对值小于或等于所述第二阈值,则确定上述中间比较结果在预设的阈值之内,继续执行步骤606;若所述第一差值的绝对值大于所述第一阈值;或者所述第二差值的绝对值大于所述第二阈值;或者所述第一差值的绝对值大于所述第一阈值并且所述第二差值的绝对值大于所述第二阈值,则确定上述中间比较结果不在预设的阈值之内,确定所述待测键帽装配错误,不再继续执行。
[0087] 步骤606,获取待测键帽的第一矩形区域和第三矩形区域,获取模板键帽的第二矩形区域和第四矩形区域。
[0088] 在一些实施例中,分别获取待测键帽的左上角的第一矩形区域,模板键帽的左上角的第二矩形区域,待测键帽的右上角的第三矩形区域和模板键帽的右上角的第四矩形区域。
[0089] 步骤607,对每个矩形区域进行聚类,得到聚类分析结果。
[0090] 在一些实施例中,将上述每个矩形区域进行聚类处理,将每个矩形区域中的像素点划分为键帽圆弧区域内和键帽圆弧区域外两个类别。
[0091] 确定待测键帽左上角圆弧区域内像素点的个数与圆弧区域外像素点的个数的比值,与模板键帽左上角区域中圆弧内像素点的个数与圆弧区域外像素点的个数的比值之间的第三差值对应的第一绝对值;确定待测键帽右上角圆弧区域内像素点的个数与圆弧区域外像素点的个数的比值,与模板键帽右上角区域中圆弧内像素点的个数与圆弧区域外像素点的个数的比值之间的第四差值对应的第二绝对值。
[0092] 步骤608,判断上述聚类结果是否在预设的阈值之内。
[0093] 在一些实施例中,判断上述聚类结果是否在预设的阈值之内的具体过程为:若第一绝对值小于或等于预设的第三阈值,且第二绝对值小于或等于预设的第四阈值,则确定聚类结果在预设的阈值之内,确定所述待测键帽装配正确;否则,确定聚类结果不在预设的阈值之内,确定待测键帽装配错误。
[0094] 图7为本申请实施例提供的键帽检测装置的一种可选装置结构示意图,键帽检测装置700包括最小外接矩形确定模块701、最小外接矩形比较模块702和左上角区域和右上角区域检测模块703。其中,
[0095] 最小外接矩形确定模块701,用于基于待测键帽的灰度图像,确定所述待测键帽的最小外接矩形;
[0096] 最小外接矩形比较模块702,用于将所述待测键帽的最小外接矩形与所述待测键帽对应的模板图像中模板键帽的最小外接矩形进行比较,得到中间比较结果;
[0097] 左上角区域和右上角区域检测模块703,基于所述中间比较结果检测所述待测键帽是否装配正确。
[0098] 在一些实施例中,最小外接矩形确定模块701具体用于:基于所述待测键帽的灰度图像,确定所述待测键帽的最大连通域;基于所述最大连通域,构建凸多边形;确定所述凸多边形对应的最小外接矩形为所述待测键帽的最小外接矩形;
[0099] 其中,所述最小外接矩形确定模块701,具体用于:对所述待测键帽的灰度图像进行高斯滤波处理,得到处理后的待测键帽灰度图像;对所述处理后的待测键帽灰度图像进行二值化处理,得到所述待测键帽的二值图像;基于所述二值图像,确定所述二值图像中的最大连通域。
[0100] 所述最小外接矩形确定模块701,还用于在基于待测键帽的灰度图像,确定所述待测键帽的最小外接矩形之后,判断所述最小外接矩形是否倾斜;若所述最小外接矩阵发生倾斜,对所述待测键帽的灰度图像和所述待测键帽的二值图像进行矫正处理。
[0101] 在一些实施例中,最小外接矩形比较模块702具体用于:计算所述待测键帽的最小外接矩形的长与所述模板图像中模板键帽的最小外接矩形的长之间的第一差值;计算所述待测键帽的最小外接矩形的宽与所述模板图像中模板键帽的最小外接矩形的宽之间的第二差值;比较所述第一差值的绝对值与预设的第一阈值之间的大小和所述第二差值的绝对值与所述预设的第二阈值之间的大小,得到中间比较结果;基于所述中间比较结果,检测所述待测键帽是否装配正确。
[0102] 其中,最小外接矩形比较模块702模块,具体用于:若所述第一差值的绝对值大于所述第一阈值,和/或,所述第二差值的绝对值大于所述第二阈值,确定所述待测键帽装配错误。
[0103] 最小外接矩形比较模块702模块,具体用于:基于所述待测键帽的左上角区域和右上角区域,与所述模板图像中模板键帽的左上角区域和右上角区域,检测所述待测键帽是否装配正确。
[0104] 在一些实施例中,左上角区域和右上角区域检测模块703具体用于:确定所述待测键帽的左上角的第一矩形区域和所述模板键帽的左上角的第二矩形区域;确定所述待测键帽的右上角的第三矩形区域和所述模板键帽的右上角的第四矩形区域;将所述第一矩形区域、所述第二矩形区域、所述第三矩形区域和所述第四矩形区域中的每个矩形区域分别进行聚类处理,基于聚类结果检测所述待测键帽是否装配正确。
[0105] 其中,所述左上角区域和右上角区域检测模块703,具体用于:将所述每个矩形区域进行聚类处理,将所述每个矩形区域中的像素点划分为键帽圆弧区域内和键帽圆弧区域外两个类别;确定所述第一矩形区域中键帽圆弧区域内像素点的个数与键帽圆弧区域外像素点的个数的比值,与所述第二矩形区域中键帽圆弧内像素点的个数与键帽圆弧区域外像素点的个数的比值之间的第三差值;确定所述第三差值对应的第一绝对值;确定所述第三矩形区域中键帽圆弧区域内像素点的个数与键帽圆弧区域外像素点的个数的比值,与所述第四矩形区域中键帽圆弧内像素点的个数与键帽圆弧区域外像素点的个数的比值之间的第四差值;确定所述第四差值对应的第二绝对值;若第一绝对值大于预设的第三阈值,和/或,第二绝对值大于预设的第四阈值,确定所述待测键帽装配错误。
[0106] 需要说明的是,本申请实施例的键帽检测装置与上述键帽检测方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本申请实施例提供的键帽检测装置中未尽的技术细节,可以根据图1至图6中任一附图的说明而理解。
[0107] 图8示出了可以用来实施本申请实施例的示例电子设备800的示意性框图。电子设备800用于实施本公开实施例的键帽检测方法。在一些可选实施例中,电子设备800可以通过运行计算机程序来实现本申请实施例提供的键帽检测方法,例如,计算机程序可以是操作系统中的软件模块;可以是本地(Native)应用程序(Application,APP),即需要在操作系统中安装才能运行的程序;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
[0108] 在实际应用中,电子设备800可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,其中,云技术(Cloud Technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。电子设备800可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能电视、智能手表等,但并不局限于此。
[0109] 电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备、车载终端和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
[0110] 如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
[0111] 电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0112] 计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如键帽检测方法。例如,在一些可选实施例中,键帽检测方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些可选实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的键帽检测方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为键帽检测方法。
[0113] 本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的键帽检测方法。
[0114] 在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD‑ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0115] 在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0116] 作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0117] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程键帽检测设备的处理器以产生一个机器,使得通过计算机或其他可编程键帽检测设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0118] 这些计算机程序指令也可存储在能引导计算机或其他可编程键帽检测设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0119] 应理解,在本申请的各种实施例中,各实施过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0120] 以上,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。