【发明内容】
本发明实施例提供一种金手指划伤检测方法、装置以及电子设备,旨在解决现有技术中检测金手指划伤的方法不能自动分割图像中的金手指区域,误报率高、编程复杂、检测精度低的问题。
为解决上述技术问题,本发明实施例提供以下技术方案:一种金手指划伤检测方法。上述方法包括:
可选的,获取原始图片;
将所述图片进行灰度化处理;
在所述图片灰度化处理后,根据计算统计出金手指内各单连通域的面积;
根据金手指内各单连通域的面积确定金手指的划痕区域。
可选的,所述将所述图片进行灰度化处理,包括:将所述图片的三通道转化为单通道。
可选的,所述根据计算统计出金手指内各单连通域的面积,包括:
获取金手指的掩码图;
获取划痕候选点;
根据所述掩码图和所述划痕候选点统计金手指内各单连通域的面积。
可选的,在执行所述获取金手指的掩码图的步骤之前,所述方法还包括:
将所述灰度化处理后的图片进行图像滤波处理;
将所述图像滤波处理后的图片进行二值化处理。
可选的,所述方法还包括第一闭运算处理,所述第一闭运算处理包括:
抹去所述二值化处理后黑白图片中的小黑点,以获得所述金手指的掩码图。
可选的,所述获取划痕候选点包括:
获取所述灰度化处理后图片中的第一像素周围的邻域像素;
计算所述邻域像素的灰度均值;
获取所述第一像素的灰度值;
计算所述第一像素的灰度值与所述领域像素的灰度均值的差;
判断所述差是否超过预设阈值;
若是,则保留所述第一像素对应的点。
可选的,所述方法还包括第二闭运算处理,所述第二闭运算处理包括:
基于所述第一像素对应的点进行划痕填补操作,并连接填补后的划痕。
可选的,根据金手指内各单连通域的面积确定金手指的划痕区域,包括:
判断各所述单连通域面积是否大于预定阈值;
若是,则保留所述单连通域,其中,所保留所述单连通域共同形成金手指的划痕区域。
为解决上述技术问题,本发明实施例提供以下技术方案:一种金手指划伤检测装置。上述金手指划伤检测装置包括:
图片获取模块,用于获取原始图片;
图片处理模块,用于将所述图片进行灰度化处理;
统计模块,用于在所述图片灰度化处理后,根据计算统计出金手指内各单连通域的面积;
确定模块,用于根据金手指内各单连通域的面积确定金手指的划痕区域。
为解决上述技术问题,本发明实施例提供以下技术方案:一种电子设备。上述电子设备包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一项所述的方法。
与现有技术相比较,本发明实施例的有益效果是:通过获取所述原始图片,将所述图片进行灰度化处理,在所述图片灰度化处理后,根据计算统计出所述金手指内各单连通域的面积,最后根据所述金手指内各单连通域的面积最终确定所述金手指的划痕区域。本发明提供的方法、装置以及电子设备能够自动分割图像中的金手指区域,减少了AOI系统编程的复杂度和工作量以及提高划痕检测精度,降低误报率。
【具体实施方式】
为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。此外,本文所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本说明书中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本发明。
请参阅图1,本公开实施例提供一种金手指划伤检测系统,所述金手指划伤检测系统10包括控制单元11、摄像单元12及传感单元13。
控制单元11作为金手指划伤检测系统10的控制核心,协调各个单元的工作。控制单元11可以为通用处理器(例如中央处理器CPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA、CPLD等)、单片机、ARM(Acorn RISC Machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,控制单元11还可以是任何传统处理器、控制器、微控制器或状态机。控制单元11也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核、或任何其它这种配置。
摄像单元12用于获取所述金手指划伤的原始图片,摄像单元12与控制单元11电连接,通过摄像头获取所述图片,并向控制单元11输出所述图片,以便控制单元11根据所述图片做出下一步操作。
图2为本发明实施例提供的金手指划伤检测方法流程示意图。所述方法由金手指划伤检测系统执行,如图2所示,该方法包括如下步骤:
S01、获取原始图片。
所述摄像单元12包括摄像头,根据所述摄像头拍摄的整图,通过AOI系统截取不同区域的图像,所述图像就是所述金手指的原始图片。
所述AOI系统全称是自动光学检测,是基于光学原理来对焊接生产中遇到的常见缺陷进行检测的设备。当所述AOI系统自动检测时,机器通过所述摄像头自动扫描PCB,采集所述图像,将测试的焊点与数据库中的合格的参数进行比较,经过图像处理,检查出PCB上缺陷,并通过显示器或自动标志把缺陷标示出来,供维修人员修整。
S02、将所述图片进行灰度化处理。
所述灰度化处理,即将RGB颜色空间的像素值经过公式Gray=0.299*R+0.587*G+0.114*B映射到灰度空间,每个像素的灰度值用一个字节表示,所述灰度值范围为0-255,通过所述灰度化处理,将所述图片从三通道图像压缩为单通道图像,减少后期统计所述金手指划痕区域的计算量。
S03、在所述图片灰度化处理后,根据计算统计出金手指内各单连通域的面积。
所述统计金手指内各单连通域的面积包括两个方面,第一方面是获取金手指的掩码图,第二方面是获取所述金手指的划痕候选点。
所述金手指的掩码图指的是标示所有金手指区域的图像。在所述获取金手指的掩码图之前,还需要将所述灰度化处理后的图片进行滤波处理,滤除掉噪点,加强连通域的筛选。在图像处理中,所述滤波处理是图像预处理的一种方法,所述滤波处理可以是用均值滤波器、高斯滤波器和巴特沃斯低通滤波器等具有低通特性的滤波器处理图像过程。所述滤波处理,是抑制和防止干扰的一项重要措施,主要是将信号中特定的波段频率滤除,从而保留所需要的波段频率信号,根据不同的选择保留不同的频段。所述滤波处理主要的优点是消除图像中混入的噪声和为图像识别抽取出图像特征。
在所述图片进行滤波处理以后,还需要对所述图片进行二值化处理,也即,将256个亮度等级的灰度图像通过适当的阈值选取,获得可以反映所述图像整体和局部特征的二值化图像。所述图像二值化处理的方法有很多种。例如,OTSU阈值分割,OTSU算法也称最大类间差法,是图像分割中阈值选取的常用算法,计算简单,不受图像亮度和对比度的影响。也即,所述OTSU阈值分割是根据所述图像的灰度特性,将所述图像分成背景和前景两部分。由于方差是灰度分布均匀性的一种度量,所述背景与所述前景之间的类间方差越大,说明构成所述图像的两部分的差别越大,当部分前景错分为所述背景或部分背景错分为所述前景时,都会导致两部分的差别变小,所以,类间方差最大的分割意味着错分概率最小。
具体的,对于图像I(x,y),将所述前景和所述背景的分割阈值记作T,所述前景的像素点数占所述图像的像素点数的比例记为ω0,平均灰度记为μ0;所述背景像素点数占所述图像的像素点数的比例为ω1,平均灰度为μ1。所述图像的总平均灰度记为μ,类间方差记为g。
假设所述图像的背景较暗,并且所述图像的大小为M×N,所述图像中像素的所述灰度值小于所述阈值T的像素点个数记作N0,像素灰度大于所述阈值T的像素点个数记作N1,则:
ω0=N0/M×N (1)
ω1=N1/M×N (2)
N0+N1=M×N (3)
ω0+ω1=1 (4)
μ=ω0×μ0+ω1×μ1 (5)
g=ω0(μ0-μ)2+ω1(μ1-μ)2 (6)
将式(5)代入式(6),得到等价公式:
g=ω0ω1(μ0-μ1)2 (7)
得到g的值就是所述类间方差。最后可以采用遍历的方法得到类间方差g的最大阈值T。
所述划痕候选点指的是经过自适应阈值分割后得到的点,包括镀层表面细微粗糙导致的“黑点”、真正的划痕点、金手指边缘点和部分噪点,获取所述划痕候选点的方法有很多种。例如,自适应分割阈值,也即,通过获取所述灰度化处理后图片中的第一像素周围的邻域像素,计算所述邻域像素的灰度均值,然后获取所述第一像素的灰度值,计算所述第一像素的灰度值与所述领域像素的灰度均值的差,最后判断所述差是否超过预设阈值,如果所述差小于预设阈值,则可以知道所述第一像素的点为正常点,而不是所述划痕候选点,否则,所述第一像素的点为所述划痕候选点,当所述第一像素的点为所述划痕候选点,则保留所述第一像素对应的点。
统计所述金手指内各单连通域的面积最后一步是进行闭运算处理,所述闭运算处理,是图像处理中最常规的一种处理方法,通过对所述图像进行先膨胀再腐蚀的计算过程,所述闭运算处理通过膨胀和腐蚀,可以填补小孔弥合小裂缝、连接临近物体、平滑边界的同时使总的位置和形状不变。
具体的,所述闭运算处理包括第一闭运算处理和第二闭运算处理,所述第一闭运算主要是在OTSU阈值分割处理后,通过所述第一闭运算处理抹去所述黑白图片中的小黑点,以获得所述金手指的掩码图;所述第二闭运算的主要作用是在所述图片自适应分割阈值后,基于所述第一像素对应的点进行划痕填补操作,并连接填补后的划痕。
S04、根据金手指内各单连通域的面积确定最终金手指的划痕区域。
所述确定金手指的划痕区域,主要是通过遍历所有划痕候选区域。首先判断所述金手指的划痕候选区域是否遍历结束,如果所述候选区域遍历结束,则可以输出结果图,否则,就判断所述金手指划痕的各单连通域的面积是否大于所述预设阈值,如果大于所述预设阈值,则在所述单连通域加入结果图后再遍历所述单连通域,如果所述单连通域的面积小于预设阈值,则继续遍历所述单连通域,最后,当所有的所述连通域都遍历结束后,保留下的所有连通域就组成了所述金手指的划痕区域。
在本实施例中,通过获取所述原始图片,将所述图片进行灰度化处理,在所述图片灰度化处理后,根据计算统计出所述金手指内各单连通域的面积,最后根据所述金手指内各单连通域的面积最终确定所述金手指的划痕区域。上述方法能够自动分割图像中的金手指区域,减少了AOI系统编程的复杂度和工作量以及提高划痕检测精度,降低误报率。
作为本实施例的另一方面,本申请实施例提供一种金手指划伤检测装置20。请参阅图3,所述金手指划伤检测装置20包括:图片获取模块21、图片处理模块22、统计模块23以及确定模块24。
所述图片获取模块21,用于获取原始图片;
通过所述摄像单元12获取整图,然后利用AOI系统截取不同区域的图像,所述图像就是所述金手指的原始图片。
所述图片处理模块22,用于将所述图片进行灰度化处理;
主要是通过所述灰度化处理,将所述图片从三通道图像压缩为单通道图像,方便了后期的运算。
所述统计模块23,用于在所述图片灰度化处理后,根据计算统计出金手指内各单连通域的面积;
所述统计金手指内各单连通域的面积包括两个方面,第一方面是获取金手指的掩码图,第二方面是获取所述金手指的划痕候选点。
所述金手指的掩码图指的是标示所有金手指区域的图像。在所述获取金手指的掩码图之前,还需要将所述灰度化处理后的图片进行滤波处理,滤除掉噪点,加强连通域的筛选,在所述图片进行滤波处理以后,还需要对所述图片进行二值化处理,也即,OTSU阈值分割,最后可以获取标示所有金手指区域的图像。
所述划痕候选点指的是经过自适应阈值分割后得到的点,通过获取所述灰度化处理后图片中的第一像素周围的邻域像素,计算所述邻域像素的灰度均值,然后获取所述第一像素的灰度值,计算所述第一像素的灰度值与所述领域像素的灰度均值的差,最后判断所述差是否超过预设阈值,如果所述差小于预设阈值,则可以知道所述第一像素的点为正常点,而不是所述划痕候选点,否则,所述第一像素的点为所述划痕候选点,当所述第一像素的点为所述划痕候选点,则保留所述第一像素对应的点。
统计所述金手指内各单连通域的面积最后一步是进行闭运算处理,具体的,所述闭运算处理包括第一闭运算处理和第二闭运算处理,所述第一闭运算主要是在OTSU阈值分割处理后,通过所述第一闭运算处理抹去所述黑白图片中的小黑点,以获得所述金手指的掩码图;所述第二闭运算的主要作用是在所述图片自适应分割阈值后,基于所述第一像素对应的点进行划痕填补操作,并连接填补后的划痕。
所述确定模块24,用于根据金手指内各单连通域的面积确定所述金手指的划痕区域。
确定金手指的划痕区域,主要是通过遍历所有划痕候选区域,判断所述金手指的划痕候选区域是否遍历结束,如果所述候选区域遍历结束,则可以输出结果图,否则,就判断所述金手指划痕的各单连通域的面积是否大于所述预设阈值,如果大于所述预设阈值,则在所述单连通域加入结果图后再遍历所述单连通域,如果所述单连通域的面积小于预设阈值,则继续遍历所述单连通域,最后,当所有的所述连通域都遍历结束后,保留下的所有连通域就组成了所述金手指的划痕区域
需要说明的是,上述金手指划伤检测装置可执行本发明实施例所提供的金手指划伤检测装置检测方法,具备执行方法相应的功能模块和有益效果。未在金手指划伤检测实施例中详尽描述的技术细节,可参见本发明实施例所提供的金手指划伤检测方法。
在一些实施例中,请参阅图4,是一种金手指的示意图,所述金手指(connectingfinger)是由众多金黄色的导电触片组成,由于所述导电触片表面镀金而且排列如手指状,所以称为“金手指”。所述金手指具体指的是电脑硬件,包括内存条上与内存插槽之间、显卡与显卡插槽之间,这些信号都是通过所述金手指进行传送。所述金手指实际上是在覆铜板上通过电镀工艺再覆上一层金,因为金的抗氧化性极强可以保护内部电路不受腐蚀,而且导电导性也很强并不会造成信号损失,并且金具有非常强的延展性,在适当的压力下可以让触点间接触面积更大从而降低接触电阻提高信号传递效率。
请参阅图5,在一些实施例中,所述图片是摄像单元12通过摄像头拍摄的整图,通过AOI系统截取不同区域的图像,所述图像就是所述金手指的原始图片。
请参阅图6,在一些实施例中,通过将所述原始图片进行灰度化处理,将所述原始图片从三通道转化为单通道,然后通过图像滤波去除噪声点,最后在OTSU阈值分割,将所述原始图片转化成黑白图片。
请参阅图7,在一些实施例中,将所述OTSU阈值分割后的图片进行闭运算处理,通过先膨胀再腐蚀,抹去所述图片中的小黑点,最后获得标示所有所述金手指区域的图像。
在一些实施例中,请参阅图8,将所述灰度化处理后的图片,通过获取所述灰度化处理后图片中的第一像素周围的邻域像素,计算所述邻域像素的灰度均值,然后获取所述第一像素的灰度值,计算所述第一像素的灰度值与所述领域像素的灰度均值的差,最后判断所述差是否超过预设阈值,如果是超过了所述预设阈值,则保留所述第一像素对应的点,最后,得到自适应分割阈值的结果。
在一些实施例中,请参阅图9,将所述自适应分割阈值的结果图进行所述闭运算,通过先膨胀再腐蚀,对所述第一像素对应的点进行划痕填补操作,并连接填补后的划痕,最后得到所述金手指划痕面积。
在一些实施例中,请参阅图10,根据所述金手指掩码图分割出的单个金手指,在所述单个区域内统计所有单连通域,当所述单连通域的面积大于设定阈值时,就保留所述单连通域,当遍历完所有所述金手指后,就可以得到所有所述金手指划伤的区域,而所保留下来的区域则是所述金手指的划痕区域。
在一些实施例中,请参阅图11a-11d,图11a-11d都是划痕检测结果与原图的对比,所述图片左边为所述金手指的原始图片,右边则是检测到所述金手指的划痕区域。
本发明实施例还提供了一种电子设备,请参阅图12,本发明实施例提供了一种电子设备30,所述电子设备30包括:至少一个处理器31,图12中以一个处理器31为例;所述至少一个处理器31通信连接的存储器32,图12中以通过总线连接为例。
其中,所述存储器存32储有可被所述至少一个处理器31执行的指令,所述指令被所述至少一个处理器31执行,以使所述至少一个处理器31能够执行上述金手指划伤检测方法。
存储器32作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的金手指划伤检测方法对应的程序指令/模块。处理器31通过运行存储在存储器32中的非易失性软件程序、指令以及模块,从而执行电子设备30的各种功能应用以及数据处理,即实现上述方法实施例中金手指划伤检测方法。
存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,包括至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器。
所述一个或者多个模块存储在所述存储器32中,当被所述一个或者多个处理器31执行时,执行上述任意方法实施例中的金手指划伤检测方法,例如,执行以上描述的图3中的方法步骤。
所述电子设备30还连接其他装置用于更好的执行本发明实施例所提供的方法,如可以电性连接显示屏或其他显示器,可以远程通信连接目标用户的通信设备等,在此不一一列举。
上述电子设备可执行本发明实施例所提供的方法,具备执行方法相应的功能模块。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。