本发明涉及机器视觉计数领域,尤其涉及一种用于芯片计数的图像处理算法。
背景技术:
在工业生产中,由于芯片数量多且形状小,传统方法对其进行封装计数是一项非常耗费人力时间的工作。为了减少人力时间成本,实现工业上的自动化,利用机器视觉,设计一种用于芯片计数的图像处理算法。此算法计数时间快,精度较高,完全满足生产线上的要求。
技术实现要素:
本发明实施例的目的是提供一种用于芯片计数的图像处理算法,实现了计数速度快,精准度高。
为实现上述目的,本发明实施例提供了一种用于芯片计数的图像处理算法,包括:
提取x光拍摄的半导体芯片图像,得到原图像;
将所述原图像进行增强对比度处理,根据固定阈值在所述原图像中进行全局阈值分割,获得进行全局阈值分割后的图像;
将所述进行全局阈值分割后的图像进行连通域联合,获得连通域联合后的图像,并对所述连通域联合后的图像进行预处理,获得预处理后的图像;
根据第一阈值在所述预处理后的图像中进行全局阈值分割,获得第一图像,并从所述第一图像中获取所述原图像的背景区域;其中,所述第一阈值是由所述预处理后的图像经过第一自动阈值处理后获得;
根据第二阈值在所述背景区域中进行全局阈值分割,获得第二图像,并从所述第二图像中获取所述原图像的提取区域;其中,所述第二阈值是由所述背景区域经过第二自动阈值处理后获得;
根据所述提取区域中各子区域的面积,统计所述提取区域中所有所述半导体芯片的个数。
进一步的,所述对连通域联合后的图像进行预处理,获得预处理后的图像,具体为:
根据区域的形状和面积特征,提取出所述连通域联合后的图像中面积在90000-9999999的区域,获得第一区域;
依次对所述第一区域进行孔洞填充和形态学膨胀运算,获得待删除图像;
在所述原图像中删除所述待删除的图像,获得删除后的原图像;
将所述删除后的原图像进行灰度级开运算,获得所述预处理后的图像。
进一步的,所述根据第一阈值在所述预处理后的图像中进行全局阈值分割,获得第一图像,并从所述第一图像中获取所述原图像的背景区域,具体为:
根据所述第一阈值,对所述删除后的原图像进行全局阈值分割,得到所述第一图像;
将所述第一图像进行连通域联合,获得连通域联合后的第一图像;
在所述连通域联合后的第一图像中获取每个区域的面积,并将面积最大区域的外接圆作为所述原图像的背景区域。
进一步的,所述根据第二阈值在所述背景区域中进行全局阈值分割,获得第二图像,并从所述第二图像中获取所述原图像的提取区域,具体为:
对所述背景区域进行增强对比度处理,获得预处理后的背景区域;
根据所述第二阈值,对所述预处理后的背景区域进行全局阈值分割,获得所述第二图像;
将所述第二图像进行连通域联合,得到连通域联合后的第二图像;
根据区域形状和最大长度特征,在所述连通域联合后的第二图像中,删除长度在450-2000的区域,获得所述原图像的提取区域。
进一步的,所述第一自动阈值处理,具体为:
将所述预处理后的图像进行灰度值统计,并将统计出的数据函数化,获得第一函数;
将所述第一函数进行高斯平滑处理,获取所述第一函数的第一y值;
在所述第一y值的所有波峰中,提取最后一个波峰与倒数第二个波峰之间的极小值a;
将所述极小值a和0作为所述第一阈值。
进一步的,所述第二自动阈值处理,具体为:
将所述背景区域进行灰度值统计,并将统计出的数据函数化,获得第二函数;
将所述第二函数进行高斯平滑处理,获取所述第二函数的第二y值;
在所述第二y值的所有波峰中,提取第一个波峰与第二个波峰之间的极小值b;
将所述极小值b和0作为所述第二阈值。
进一步的,所述根据所述提取区域中各子区域的面积,统计所述提取区域中所有所述半导体芯片的个数,具体为:
统计所述提取区域在11-8000范围内区域的个数n;
计算所述11-8000范围内每个子区域的面积,并统计面积在0-400内对应区域个数,并将面积最大的区域作为所述提取区域的平均面积s;
调整每个子区域所在面积与所述平均面积s的倍数关系,获取所述半导体芯片的个数。
进一步的,所述调整每个子区域所在面积与所述平均面积s的倍数关系,获取所述半导体芯片的个数,具体为:
统计子区域面积在0-0.61s的区域个数,记为n1;
统计子区域面积在1.7s-3.1s的区域个数为n2;
统计子区域面积在3.1s-4.2s的区域个数,并乘以2为n3;
统计子区域面积在4.2s-5.4s的区域个数,并乘以3为n4;
统计子区域面积在5.4s-6.5s的区域个数,并乘以4为n5;
将n+n2+n3+n4+n5-n1,得到所述半导体芯片的个数。
进一步的,所述固定阈值为0-80。
实施本发明实施例,具有如下有益效果:
本发明提供一种用于芯片计数的图像处理算法,与现有技术相比较,本发明首先通过提取x光拍摄的半导体芯片图像,进行增强对比度、阈值分割,利用形状面积特征提取需要处理的区域;然后对预处理后的图像进行自动阈值提取出芯片背景区域;再进行增强对比度,自动阈值后提取芯片区域;通过设置单个芯片区域的平均面积,根据倍数关系得到出芯片的总个数,以达到计数速度更快、精度更高的目的。
附图说明
图1是本发明提供的一种用于芯片计数的图像处理算法的步骤流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1是本发明提供的用于芯片计数的图像处理算法的一种实施例的流程示意图。该计数方法的步骤具体如下:
s1、提取x光拍摄的半导体芯片图像,得到原图像。
s2、将原图像进行增强对比度处理,根据固定阈值在原图像中进行全局阈值分割,获得进行全局阈值分割后的图像。
s3、将进行全局阈值分割后的图像进行连通域联合,获得连通域联合后的图像,并对连通域联合后的图像进行预处理,获得预处理后的图像,具体为:
根据区域的形状和面积特征,提取出连通域联合后的图像中面积在90000-9999999的区域,获得第一区域,依次对第一区域进行孔洞填充和形态学膨胀运算,获得待删除图像,在原图像中删除待删除的图像,获得删除后的原图像,将所述删除后的原图像进行灰度级开运算,获得预处理后的图像。
s4、根据第一阈值在预处理后的图像中进行全局阈值分割,获得第一图像,并从第一图像中获取原图像的背景区域,具体为:
根据第一阈值,对删除后的原图像进行全局阈值分割,得到第一图像,将第一图像进行连通域联合,获得连通域联合后的第一图像,在连通域联合后的第一图像中获取每个区域的面积,并将面积最大区域的外接圆作为原图像的背景区域。
s5、根据第二阈值在背景区域中进行全局阈值分割,获得第二图像,并从第二图像中获取原图像的提取区域,具体为:
对背景区域进行增强对比度处理,获得预处理后的背景区域,根据第二阈值,对预处理后的背景区域进行全局阈值分割,获得第二图像,将第二图像进行连通域联合,得到连通域联合后的第二图像,根据区域形状和最大长度特征,在连通域联合后的第二图像中,删除长度在450-2000的区域,获得原图像的提取区域。
在本实施例中,第一自动阈值处理,具体为:
将预处理后的图像进行灰度值统计,并将统计出的数据函数化,获得第一函数,将第一函数进行高斯平滑处理,获取第一函数的第一y值,在所述第一y值的所有波峰中,提取最后一个波峰与倒数第二个波峰之间的极小值a,将极小值a和0作为第一阈值。
进一步的,第二自动阈值处理,具体为:
将背景区域进行灰度值统计,并将统计出的数据函数化,获得第二函数,将第二函数进行高斯平滑处理,获取第二函数的第二y值,在第二y值的所有波峰中,提取第一个波峰与第二个波峰之间的极小值b,将极小值b和0作为所述第二阈值。
s6、根据提取区域中各子区域的面积,统计提取区域中所有半导体芯片的个数,具体为:
统计提取区域在11-8000范围内区域的个数n,计算11-8000范围内每个子区域的面积,并统计面积在0-400内对应区域个数,并将面积最大的区域作为提取区域的平均面积s,调整每个子区域所在面积与平均面积s的倍数关系,获取半导体芯片的个数。
进一步的,调整每个子区域所在面积与平均面积s的倍数关系,获取半导体芯片的个数,具体为:
统计子区域面积在0-0.61s的区域个数,记为n1,子区域面积在1.7s-3.1s的区域个数为n2,子区域面积在3.1s-4.2s的区域个数并乘以2为n3,子区域面积在4.2s-5.4s的区域个数并乘以3为n4,子区域面积在5.4s-6.5s的区域个数并乘以4为n5,将n+n2+n3+n4+n5-n1,得到半导体芯片的个数。
需要说明的是,固定阈值为0-80。
由上可见,本发明实施例提供的一种用于芯片计数的图像处理算法,通过提取x光拍摄的半导体芯片图像,进行增强对比度、阈值分割后,利用形状面积特征提取需要处理的区域;然后对预处理后的图像进行自动阈值提取出芯片背景区域;再进行增强对比度,自动阈值后提取芯片区域;通过设置单个芯片区域的平均面积,倍数关系得到出芯片的总个数,实现计数速度快,精度较高。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各种方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。