玻璃表面缺陷检测方法、装置和计算机可读存储介质与流程

文档序号:22029800发布日期:2020-08-28 17:15阅读:209来源:国知局
本申请涉及玻璃检测领域,特别是涉及玻璃表面缺陷检测方法、装置、系统和计算机可读存储介质。
背景技术
::大玻璃广泛应用于各种设计及应用端领域:如家居类应用、建筑类应用、装潢装饰类应用、交通工具装备类应用等,大玻璃的应用领域广泛。传统的玻璃缺陷检测方法已经无法满足现代化的生产要求,特别是对大玻璃表面的缺陷检测,迫切需要一种自动化、可靠的玻璃表面缺陷检测技术。玻璃表面缺陷检测通常通过专用的高清相机采集玻璃表面图像,然后对采集到的玻璃表面图像进行包括灰度化、二值化、图像增强、图像区域填充、边缘增强、边缘轮廓提取、缺陷特征提取等数据处理,从而确定或者定位玻璃表面缺陷位置及大小。然而,由于高清相机采集到的玻璃表面图像的数据较大,且随着玻璃尺寸的增大,玻璃表面图像的数据大小进一步增加,可能达到1g字节甚至数g字节的大小。这种超大数据量的玻璃表面图像无论是被计算机设备读取还是进行任何数据处理,都带来了挑战:内存过小的计算机设备可能无法直接读取超大数据量的玻璃表面图像;在当前的数据处理能力下,计算机设备需要相当长的时间来处理一次超大数据量的玻璃表面图像的数据处理。为了实现超大数据量的玻璃表面图像的读取,或者提高数据处理的效率,通常做法是增加计算机设备的硬件投入,从而提升计算机设备对超大数据量的玻璃表面图像的处理能力,显然这又会带来成本上的上升。目前针对相关技术中玻璃表面缺陷检测效率低的问题,尚未提出有效的解决方案。技术实现要素:本申请实施例提供了一种玻璃表面缺陷检测方法、装置、系统和计算机可读存储介质,以至少解决相关技术中玻璃表面缺陷检测效率低的问题。第一方面,本申请实施例提供了一种玻璃表面缺陷检测方法,包括:获取待检测玻璃的第一玻璃表面图像和第二玻璃表面图像,其中,所述第一玻璃表面图像和所述第二玻璃表面图像是相同图像;采用第一滤波模版对所述第一玻璃表面图像进行均值滤波,得到第一滤波图像,以及采用第二滤波模版对所述第二玻璃表面图像进行均值滤波,得到第二滤波图像;其中,所述第一滤波模版和所述第二滤波模版的大小不同;提取所述第一滤波图像和所述第二滤波图像的差异区域,其中,所述差异区域与所述待检测玻璃的表面缺陷一一对应。在其中一些实施例中,提取所述第一滤波图像和所述第二滤波图像的差异区域包括:将所述第一滤波图像和所述第二滤波图像作差,得到差值图像,其中,所述差值图像中的斑点区域即为所述差异区域。在其中一些实施例中,所述第一滤波模版的大小为3像素×3像素;所述第二滤波模版的大小为9像素×9像素、15像素×15像素、21像素×21像素或27像素×27像素。在其中一些实施例中,获取待检测玻璃的第一玻璃表面图像和第二玻璃表面图像包括:获取所述待检测玻璃的第三玻璃表面图像;从所述第三玻璃表面图像中提取感兴趣区域,得到所述第一玻璃表面图像;复制所述第一玻璃表面图像,得到所述第二玻璃表面图像。在其中一些实施例中,获取待检测玻璃的第一玻璃表面图像和第二玻璃表面图像包括:将所述待检测玻璃的玻璃表面图像的位图数据存储到非易失性存储器中;分时地从所述非易失性存储器中读取所述位图数据中的多个图像数据分段,并对读取到的图像数据分段进行图像缩小处理,得到处理后的多个图像数据分段;按照所述多个图像数据分段在所述位图数据中的相对位置,将与所述多个图像数据分段一一对应的处理后的多个图像数据分段进行拼接,得到所述第一玻璃表面图像;复制所述第一玻璃表面图像,得到所述第二玻璃表面图像。在其中一些实施例中,对读取到的图像数据分段进行图像缩小处理所采用的方法包括:双线性插值缩放方法。在其中一些实施例中,所述待检测玻璃的玻璃表面图像是由一台拍摄设备采集的。在其中一些实施例中,在分时地从所述非易失性存储器中读取所述位图数据中的多个图像数据分段,并对读取到的图像数据分段进行图像缩小处理,得到处理后的多个图像数据分段之前,所述方法还包括:在所述位图数据中对应于一行图像的图像数据的长度不为4字节的整数倍的情况下,通过在末尾填充零将对应于一行图像的图像数据的长度补齐为4字节的整数倍;以及在所述位图数据中文件头的长度不为4字节的整数倍的情况下,通过在末尾填充零将所述文件头的长度补齐为4字节的整数倍。在其中一些实施例中,所述方法还包括:判断所述待检测玻璃的玻璃表面图像的数据格式是否为位图数据格式;在所述待检测玻璃的玻璃表面图像不为位图数据格式的情况下,中止执行所述玻璃表面缺陷检测方法。第二方面,本申请实施例提供了一种玻璃表面缺陷检测装置,包括:图像获取模块,用于获取待检测玻璃的第一玻璃表面图像和第二玻璃表面图像,其中,所述第一玻璃表面图像和所述第二玻璃表面图像是相同图像;图像滤波模块,用于采用第一滤波模版对所述第一玻璃表面图像进行均值滤波,得到第一滤波图像,以及采用第二滤波模版对所述第二玻璃表面图像进行均值滤波,得到第二滤波图像;其中,所述第一滤波模版和所述第二滤波模版的大小不同;差异提取模块,用于提取所述第一滤波图像和所述第二滤波图像的差异区域,其中,所述差异区域与所述待检测玻璃的表面缺陷一一对应。第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的玻璃表面缺陷检测方法。第四方面,本申请实施例提供了一种玻璃表面缺陷检测系统,包括拍摄设备、非易失性存储器和计算机设备,所述拍摄设备和所述计算机设备分别与所述非易失性存储器连接,其中,所述拍摄设备,用于采集待检测玻璃的玻璃表面图像;所述非易失性存储器,用于存储所述拍摄设备采集的所述待检测玻璃的玻璃表面图像;所述计算机设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的玻璃表面缺陷检测方法。第五方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的玻璃表面缺陷检测方法。相比于相关技术,本申请实施例提供的玻璃表面缺陷检测方法、装置、系统和计算机可读存储介质,通过获取待检测玻璃的第一玻璃表面图像和第二玻璃表面图像,其中,第一玻璃表面图像和第二玻璃表面图像是相同图像;采用第一滤波模版对第一玻璃表面图像进行均值滤波,得到第一滤波图像,以及采用第二滤波模版对第二玻璃表面图像进行均值滤波,得到第二滤波图像;其中,第一滤波模版和第二滤波模版的大小不同;提取第一滤波图像和第二滤波图像的差异区域,其中,差异区域与待检测玻璃的表面缺陷一一对应的方式,解决了相关技术中玻璃表面缺陷检测效率低的问题,提高了玻璃表面缺陷检测效率。本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为根据本申请实施例的计算机设备的硬件结构示意图;图2是根据本申请实施例的玻璃表面缺陷检测方法的流程图;图3是根据本申请优选实施例的玻璃表面缺陷检测方法的流程图;图4是根据本申请实施例的玻璃表面缺陷检测装置的结构框图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属
技术领域
:内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。本申请实施例提供的玻璃表面缺陷检测方法可以在具有数据处理能力的通用或者专用计算机设备中执行。通常而言,该计算机设备至少包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其中,该处理器执行计算机程序时实现本申请实施例的玻璃表面缺陷检测方法。图1为根据本申请实施例的计算机设备的硬件结构示意图。如图1所示,该计算机设备可以包括处理器11以及存储有计算机程序指令的存储器12。具体地,上述处理器11可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,简称为asic),或者可以被配置成实施本申请实施例的一个或多个集成电路。其中,存储器12可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器12可包括硬盘驱动器(harddiskdrive,简称为hdd)、软盘驱动器、固态驱动器(solidstatedrive,简称为ssd)、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,简称为usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器12可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器12可在数据处理装置的内部或外部。在特定实施例中,存储器12是非易失性(non-volatile)存储器。在特定实施例中,存储器12包括只读存储器(read-onlymemory,简称为rom)和随机存取存储器(randomaccessmemory,简称为ram)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(programmableread-onlymemory,简称为prom)、可擦除prom(erasableprogrammableread-onlymemory,简称为eprom)、电可擦除prom(electricallyerasableprogrammableread-onlymemory,简称为eeprom)、电可改写rom(electricallyalterableread-onlymemory,简称为earom)或闪存(flash)或者两个或更多个以上这些的组合。在合适的情况下,该ram可以是静态随机存取存储器(staticrandom-accessmemory,简称为sram)或动态随机存取存储器(dynamicrandomaccessmemory,简称为dram),其中,dram可以是快速页模式动态随机存取存储器(fastpagemodedynamicrandomaccessmemory,简称为fpmdram)、扩展数据输出动态随机存取存储器(extendeddateoutdynamicrandomaccessmemory,简称为edodram)、同步动态随机存取内存(synchronousdynamicrandom-accessmemory,简称sdram)等。存储器12可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器11所执行的可能的计算机程序指令。处理器11通过读取并执行存储器12中存储的计算机程序指令,以实现本申请实施例中的任意一种玻璃表面缺陷检测方法。在其中一些实施例中,处理器11被配置为获取待检测玻璃的第一玻璃表面图像和第二玻璃表面图像,其中,第一玻璃表面图像和第二玻璃表面图像是相同图像;采用第一滤波模版对第一玻璃表面图像进行均值滤波,得到第一滤波图像,以及采用第二滤波模版对第二玻璃表面图像进行均值滤波,得到第二滤波图像;其中,第一滤波模版和第二滤波模版的大小不同;提取第一滤波图像和第二滤波图像的差异区域,其中,差异区域与待检测玻璃的表面缺陷一一对应。在其中一些实施例中,处理器11被配置为将第一滤波图像和第二滤波图像作差,得到差值图像,其中,差值图像中的斑点区域即为差异区域。在其中一些实施例中,第一滤波模版的大小为3像素×3像素;第二滤波模版的大小为9像素×9像素、15像素×15像素、21像素×21像素或27像素×27像素。在其中一些实施例中,处理器11被配置为获取待检测玻璃的第三玻璃表面图像;从第三玻璃表面图像中提取感兴趣区域,得到第一玻璃表面图像;复制第一玻璃表面图像,得到第二玻璃表面图像。在其中一些实施例中,处理器11被配置为将待检测玻璃的玻璃表面图像的位图数据存储到非易失性存储器中;分时地从非易失性存储器中读取位图数据中的多个图像数据分段,并对读取到的图像数据分段进行图像缩小处理,得到处理后的多个图像数据分段;按照多个图像数据分段在位图数据中的相对位置,将与多个图像数据分段一一对应的处理后的多个图像数据分段进行拼接,得到第一玻璃表面图像;复制第一玻璃表面图像,得到第二玻璃表面图像。在其中一些实施例中,对读取到的图像数据分段进行图像缩小处理所采用的方法包括:双线性插值缩放方法。在其中一些实施例中,待检测玻璃的玻璃表面图像是由一台拍摄设备采集的。在其中一些实施例中,处理器11还被配置为在位图数据中对应于一行图像的图像数据的长度不为4字节的整数倍的情况下,通过在末尾填充零将对应于一行图像的图像数据的长度补齐为4字节的整数倍;以及在位图数据中文件头的长度不为4字节的整数倍的情况下,通过在末尾填充零将文件头的长度补齐为4字节的整数倍。在其中一些实施例中,处理器11还被配置为判断待检测玻璃的玻璃表面图像的数据格式是否为位图数据格式;在待检测玻璃的玻璃表面图像不为位图数据格式的情况下,中止执行玻璃表面缺陷检测方法。在其中一些实施例中,计算机设备还可包括通信接口13和总线10。其中,如图1所示,处理器11、存储器12、通信接口13通过总线10连接并完成相互间的通信。通信接口13用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信端口13还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。总线10包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线10包括但不限于以下至少之一:数据总线(databus)、地址总线(addressbus)、控制总线(controlbus)、扩展总线(expansionbus)、局部总线(localbus)。举例来说而非限制,总线10可包括图形加速接口(acceleratedgraphicsport,简称为agp)或其他图形总线、增强工业标准架构(extendedindustrystandardarchitecture,简称为eisa)总线、前端总线(frontsidebus,简称为fsb)、超传输(hypertransport,简称为ht)互连、工业标准架构(industrystandardarchitecture,简称为isa)总线、无线带宽(infiniband)互连、低引脚数(lowpincount,简称为lpc)总线、存储器总线、微信道架构(microchannelarchitecture,简称为mca)总线、外围组件互连(peripheralcomponentinterconnect,简称为pci)总线、pci-express(pci-x)总线、串行高级技术附件(serialadvancedtechnologyattachment,简称为sata)总线、视频电子标准协会局部(videoelectronicsstandardsassociationlocalbus,简称为vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线10可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。在其中一些实施例中,计算机设备还可以包括输入/输出设备,例如用于接收用户输入数据的触摸板、键盘等输入设备;又例如用于显示图像的显示设备等输出设备。本实施例还提供了一种玻璃表面缺陷检测方法。图2是根据本申请实施例的玻璃表面缺陷检测方法的流程图,如图2所示,该流程包括如下步骤:步骤s201,获取待检测玻璃的第一玻璃表面图像和第二玻璃表面图像,其中,第一玻璃表面图像和第二玻璃表面图像是相同图像。步骤s202,采用第一滤波模版对第一玻璃表面图像进行均值滤波,得到第一滤波图像,以及采用第二滤波模版对第二玻璃表面图像进行均值滤波,得到第二滤波图像;其中,第一滤波模版和第二滤波模版的大小不同。步骤s203,提取第一滤波图像和第二滤波图像的差异区域,其中,差异区域与待检测玻璃的表面缺陷一一对应。由于完全无划痕和脏污的玻璃表面图像中图像像素值分布是均匀的,而存在脏污或者划痕的位置对应的图像像素值与完全无划痕和脏污的位置对应的图像像素值存在差异。通过上述步骤,采用不同大小的滤波模版对两个相同的玻璃表面图像进行滤波处理,然后提取滤波处理得到的两个滤波图像之间的差异。其中,采用较小滤波模版滤波得到的滤波图像对图像像素值的差异更敏感而保留了更多的与玻璃表面脏污或划痕相关的细节,而采用较大滤波模版滤波得到的滤波图像对图像像素值的差异相对敏感程度更低而将整个滤波图像中各像素值之间的差异调整到比较小的范围内。这样得到的两个滤波图像之间与玻璃表面脏污或划痕相关的位置的像素值之间存在差异,而两个滤波图像之间无划痕和脏污位置对应的图像像素值几乎没有差异,因此,通过提取这两个滤波图像的差异区域,就能够检测出待检测玻璃的表面缺陷的位置。上述步骤中采用滤波模版滤波的方式以及提取两个滤波图像之间的差异区域的过程简单且客观,无需人为设定划痕或脏污表面的图像特征;并且对于计算机设备而言每次滤波或对比操作涉及的数据处理量小,对计算机设备的内存没有过高要求;相对于相关技术中对玻璃表面图像进行灰度化、二值化、图像增强、图像区域填充、边缘增强、边缘轮廓提取、缺陷特征提取等多种类数据操作或者高级数据操作而言,上述步骤中的数据处理过程中涉及的数据滤波和差异提取具体来说是都是基础数据的算术运算,因此数据处理过程中没有涉及过多种类的数据操作,得以实现高效的计算处理。因此,采用上述步骤进行玻璃表面缺陷检测能够提高效率,降低对计算机设备性能的要求。在其中一些实施例中,在步骤s203中提取第一滤波图像和第二滤波图像的差异区域可以采用图像作差的方法,例如,将第一滤波图像和第二滤波图像作差,得到差值图像。由于两个滤波图像之间与玻璃表面脏污或划痕相关的位置的像素值之间存在差异,而两个滤波图像之间无划痕和脏污位置对应的图像像素值几乎没有差异,因此,将两个滤波图像作差后,得到的差值图像中与无划痕和脏污位置对应的图像像素值接近0,而差值图像中与脏污或划痕位置对应的图像像素值不为0,差值图像中将形成斑点区域,即为差异区域。脏污或划痕位置因此被检测到。在一些实施例中,还可以对差值图像作反色或者反相处理,以使得无划痕和脏污位置对应的图像像素值接近255,即显示为白色,而脏污或划痕位置对应的图像像素值显示为灰色或者其他彩色,使得脏污或划痕位置能够突出显示。在上述步骤中,两个相同的玻璃表面图像经过不同大小的滤波模版的处理能够实现玻璃表面缺陷的检测,两个滤波模版的绝对大小和相对大小对玻璃缺陷检测的精度存在影响。为了能够最大程度地保留玻璃表面图像中与划痕或脏污对应的像素,其中一个滤波模版选择最小的滤波模版,即滤波模版的大小为3像素×3像素的滤波模版。另一个滤波模版则选择较大的滤波模版,例如大小为9像素×9像素、15像素×15像素、21像素×21像素或27像素×27像素的滤波模版,其中,优选为21像素×21像素的滤波模版。在其中一些实施例中,第一玻璃表面图像和第二玻璃表面图像是基于同一张玻璃表面图像(被称为原始玻璃表面图像)复制而来的,二者是完全相同的图像,因此在对两个玻璃表面图像进行均值滤波以及其后的滤波图像作差均不必对图像大小进行任何调整。若考虑图像处理效率或者需要将输入计算机设备处理的图像裁切或缩放为固定大小,则可以在复制原始玻璃表面图像之前进行裁切或缩放处理,然后再复制得到两张尺寸和图像均完全相同的第一玻璃表面图像和第二玻璃表面图像。在其中一些实施例中,考虑到图像处理效率,可以提取原始玻璃表面图像中感兴趣区域,从而减少在玻璃表面缺陷检测中被计算机设备处理的数据量。例如,首先在获取待检测玻璃的原始玻璃表面图像中提取感兴趣区域,得到第一玻璃表面图像;然后复制第一玻璃表面图像,得到第二玻璃表面图像。其中,感兴趣区域是指对玻璃表面缺陷检测有用的区域,例如,玻璃表面图像中玻璃以外的其他图像对玻璃表面缺陷检测没有意义,均为非感兴趣区域。因计算机设备性能的限制,既无法读取超大图像,更不能够对超大图像进行处理。为了解决上述问题,在现有技术中是采用多台拍摄设备采集玻璃表面的一部分图像,分别进行玻璃表面缺陷检测。采用上述方式,需要维护多台拍摄设备的质量,提高了成本;多台拍摄设备需要同时采图,对同步性要求高;玻璃表面缺陷位置分散在各个部分图像中,缺乏整体性,导致玻璃表面缺陷位置在实际玻璃上的位置难以定位;相邻的拍摄设备分界处的表面缺陷特征容易被破坏而影响检测结果。为了解决现有技术中的上述问题,在其中一些实施例中,待检测玻璃的玻璃表面图像由一台拍摄设备采集的完整的玻璃表面图像,相应地,上述实施例中的第一玻璃表面图像、第二玻璃表面图像也都可以是由一台拍摄设备采集的完整的玻璃表面图像。为了能够在通常性能的计算机设备中处理由完整的玻璃表面图像,在其中一些实施例中采用了分段处理的方法。例如,在步骤s201中,首先将待检测玻璃的玻璃表面图像的位图数据存储到非易失性存储器中;然后分时地从非易失性存储器中读取位图数据中的多个图像数据分段,并对读取到的图像数据分段进行图像缩小处理,得到处理后的多个图像数据分段;最后按照多个图像数据分段在位图数据中的相对位置,将与多个图像数据分段一一对应的处理后的多个图像数据分段进行拼接,得到第一玻璃表面图像;并复制第一玻璃表面图像,得到第二玻璃表面图像。在上述实施例中的位图数据是指图片类型为位图的图片的数字化数据,通常由十六进制表示。常见的位图为文件格式为*.bmp的图片(简称bmp图片),bmp图片的文件结构包括四个部分:位图文件头、位图信息头、调色板(colortable)和位图数据。位图文件头包含了图像类型、图像大小、图像数据存放地址和两个保留未使用的字段。位图信息头包含了位图信息头的大小、图像的宽高、图像的色深、压缩说明、图像数据的大小和其他一些参数。调色板是单色、16色和256色图像文件所特有的,相对应的调色板大小是2、16和256;调色板以4字节为单位,每4字节存放一个颜色值,图像的数据是指向调色板的索引。如果图像是单色、16色和256色,则紧跟着调色板的是位图数据,位图数据是指向调色板的索引序号。如果位图是16位、24位和32位色,则图像文件中不保留调色板,即不存在调色板,图像的颜色直接在位图数据中给出。16位图像使用2字节保存颜色值,常见有两种格式:5位红5位绿5位蓝和5位红6位绿5位蓝,即555格式和565格式。555格式只使用了15位,最后一位保留,设为0。24位图像使用3字节保存颜色值,每一个字节代表一种颜色,按红、绿、蓝排列。32位图像使用4字节保存颜色值,每一个字节代表一种颜色,除了原来的红、绿、蓝,还有alpha通道,即透明色。如果图像带有调色板,则位图数据可以根据需要选择压缩与不压缩,如果选择压缩,则根据bmp图像是16色或256色,采用rle4或rle8压缩算法压缩。在上述实施例中,为了将位图图像分段,可以先读取位图文件头、位图信息头和调色板,获得位图数据存放的位置,并且获取图像的长宽等信息;然后根据这些信息以及所要分段的数量,对位图数据进行分段读取。其中,在分段读取位图数据时,根据图像的长宽信息,确定每一行图像的像素数量,并保证所取得的位图数据是每一行图像的像素数量的整数倍,以避免分段边缘处的图像不完整。在此需要说明的是,由于bmp图像中图像数据在位图数据中的排列顺序是从下至上、从左到右排列的,因此,在分段读取图像时,对应于图像上部的数据,需要从位图数据的末尾从左至右、从下至上逐行读取;最终得到正常的从上到下、从左到右排列的图像数据或图像。在一些情况下,例如位图数据或文件头(通常为14字节)没有以4字节为单位对齐的情况下,为了能够被计算机正确读取数据,还需要保证内存对齐,以及保证文件头、位图数据以4字节为单位对齐;即保证对于每一行数据的字节数都是4的整数倍;如果不是4的整数倍,则通过在末尾填充0或者其他数据补齐。由于信息头和调色板都是以4字节为单位对齐的,因此通常不需要对信息头和调色板进行4字节对齐。为了使缺陷具有整体性,在其中一些实施例中,对读取到的图像数据分段进行图像缩小处理所采用的方法是双线性插值缩放方法。由于图像数据是分段读取的,此时的每段图像之间不具有联系,对每一段图像进行独立的缩放处理,降低了对计算机设备的性能要求。在本实施例中,采用双线性插值缩放能够更好地保留原始图像的特征,为后续的缺陷检测提供了基础。在其中一些实施例中,方法还包括:判断待检测玻璃的玻璃表面图像的数据格式是否为位图数据格式;在待检测玻璃的玻璃表面图像不为位图数据格式的情况下,中止执行玻璃表面缺陷检测方法,否则执行上述实施例中任一玻璃表面缺陷检测方法。下面结合优选实施例和图3对本申请进行说明。图3是根据本申请优选实施例的玻璃表面缺陷检测方法的流程图,图3是图2的变形形式之一。如图3所示,该流程包括如下步骤:步骤s301,以二进制方读方式打开指定的图像文件。步骤s302,判断图像文件是否为bmp文件格式,若否,则退出算法;若是,则执行步骤s303。步骤s303,读取bmp图像文件的文件头和信息头。步骤s304,保证内存对齐,保证文件头和图像数据对齐,对于图像数据,每一行数据的字节数必须是4的整数倍,若不是,则需要补齐。步骤s305,对于数据大小超过预设大小的超大位图,若使用一般的机器,因内存限制无法对图像数据进行直接读取。对于这类图像,在本实施例中采用分段读取的方式。因bmp图像文件的数据排列顺序是从下到上、从左到右的,故采用分段从下往上逐行读取图像数据的方式,将图像数据纠正为从上到下、从左到右排列。步骤s306,为了使缺陷具有整体性,将步骤s305中分段读取的图像分段进行双线性插值缩放,采用分段缩放的原因是:图像数据是分段读取的,此时的每段图像之间不具有联系,故对每一段图像进行独立的缩放处理。采用双线性插值算法对图像进行缩放的原因是:双线性插值缩放能够更好地保留原始图像的特征,为后续的缺陷检测提供了基础。步骤s307,将步骤s306中分段双线性缩放处理后的小图按分段读取的顺序进行图像拼接,还原原始图像的特征。从实验中得出,使用传统的图像读取方式,如opencv、visionpro或电脑自带的读图软件均无法直接读取或打开一张1.4g左右的bmp图像,经上述方法分段读取图像数据并做双线性插值缩放64倍后可得到一张高度还原原始特征的小图,该小图可采用传统的图像读取方式进行读取。需要说明的是,对于位图图像大小在预设大小以下的图像,可以不执行上述步骤s305~步骤s307,而直接采用传统的图像读取方式进行读取。步骤s308,是否对步骤s307中处理后的图像进行显示,若是,则显示图像;若否,则执行步骤s309。步骤s308是非必需步骤。步骤s309,对检测的感兴趣区域进行掩模提取,本步骤可减小算法处理区域,降低算法耗时。步骤s310,基于步骤s307中处理得到的原始小图,通过步骤s309处理得到的掩模区域提取算法处理的感兴趣区域。步骤s311,分别使用3×3、21×21的核对步骤s310中得到的感兴趣区域进行均值滤波处理。步骤s312,将步骤s311中得到的两张图进行减操作,其作用类似于局部阈值分割。步骤s313,对步骤s312中处理后得到的图像进行斑点检测,定位到玻璃表面的脏污。在做斑点检测处理时可以采用相关技术中任意的方法,可调节的算法参数包括但不限于:斑点面积大小、斑点矩形度、斑点圆度、分割阈值等,可根据检测要求及检测环境进行相应调节。需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。例如,步骤s309可以在步骤s305之前执行。本实施例还提供了一种玻璃表面缺陷检测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图4是根据本申请实施例的玻璃表面缺陷检测装置的结构框图,如图4所示,该装置包括:图像获取模块41,用于获取待检测玻璃的第一玻璃表面图像和第二玻璃表面图像,其中,所述第一玻璃表面图像和所述第二玻璃表面图像是相同图像;图像滤波模块42,耦接至图像获取模块41,用于采用第一滤波模版对所述第一玻璃表面图像进行均值滤波,得到第一滤波图像,以及采用第二滤波模版对所述第二玻璃表面图像进行均值滤波,得到第二滤波图像;其中,所述第一滤波模版和所述第二滤波模版的大小不同;差异提取模块43,耦接至图像滤波模块42,用于提取所述第一滤波图像和所述第二滤波图像的差异区域,其中,所述差异区域与所述待检测玻璃的表面缺陷一一对应。在其中一些实施例中,差异提取模块43,用于将第一滤波图像和第二滤波图像作差,得到差值图像,其中,差值图像中的斑点区域即为差异区域。在其中一些实施例中,第一滤波模版的大小为3像素×3像素;第二滤波模版的大小为9像素×9像素、15像素×15像素、21像素×21像素或27像素×27像素。在其中一些实施例中,图像获取模块41,用于获取待检测玻璃的第三玻璃表面图像;从第三玻璃表面图像中提取感兴趣区域,得到第一玻璃表面图像;复制第一玻璃表面图像,得到第二玻璃表面图像。在其中一些实施例中,图像获取模块41,用于将待检测玻璃的玻璃表面图像的位图数据存储到非易失性存储器中;分时地从非易失性存储器中读取位图数据中的多个图像数据分段,并对读取到的图像数据分段进行图像缩小处理,得到处理后的多个图像数据分段;按照多个图像数据分段在位图数据中的相对位置,将与多个图像数据分段一一对应的处理后的多个图像数据分段进行拼接,得到第一玻璃表面图像;复制第一玻璃表面图像,得到第二玻璃表面图像。在其中一些实施例中,图像获取模块41对读取到的图像数据分段进行图像缩小处理所采用的方法包括:双线性插值缩放方法。在其中一些实施例中,待检测玻璃的玻璃表面图像是由一台拍摄设备采集的。在其中一些实施例中,图像滤波模块42,还用于在位图数据中对应于一行图像的图像数据的长度不为4字节的整数倍的情况下,通过在末尾填充零将对应于一行图像的图像数据的长度补齐为4字节的整数倍;以及在位图数据中文件头的长度不为4字节的整数倍的情况下,通过在末尾填充零将文件头的长度补齐为4字节的整数倍。在其中一些实施例中,图像获取模块41,还用于判断待检测玻璃的玻璃表面图像的数据格式是否为位图数据格式;在待检测玻璃的玻璃表面图像不为位图数据格式的情况下,中止执行玻璃表面缺陷检测方法。需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。另外,结合上述实施例中的玻璃表面缺陷检测方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种玻璃表面缺陷检测方法。综上所述,通过本申请提供的上述实施例或者实施方式具有下述的优点:1、相对于相关技术中采用深紫外光源进行打光采集玻璃表面图像而对光源要求高的方式而言,本申请一些实施例对光源要求不高,无需采用特制光源。2、相对于相关技术中只通过比对灰度值的变化来判定是否存在缺陷以及缺陷的位置具有极大的漏检可能性的问题,本申请一些实施例中采用局部阈值分割的方式进行玻璃表面脏污缺陷的检测,实验表明,该检测方法具有更好的鲁棒性。3、相对于相关技术中采集的图像为单张超大的图像,用常见的图像处理库(如opencv、visionpro)均无法进行直接读取图像数据的缺陷,本申请一些实施例采用了超大位图的分段读取及基于双线性插值处理的图像拼接技术,能够对于采图为超大位图的检测情景进行处理。4、相对于相关技术中在特征参数计算环节,通过人为通过缺陷几何形状来设计识别特征,泛化能力差,若未遇到的缺陷形状与已知的缺陷形状存在明显的差别,则该检测方法将失效的问题,在本申请一些实施例中避免采用复杂的认为特征设计与计算,采用局部阈值分割的方式进行玻璃表面脏污缺陷的检测,泛化能力强,即使遇到缺陷形状与已知的缺陷形状存在明显差别的脏污缺陷,也能够检测出来。5、相对于相关技术中需要多个相机同时采图,且后期需要维护多个相机的质量,提高了生产成本的问题,本申请一些实施例不需要多个相机同时采图,只需要一个相机即可,降低了后期维护成本和生成成本。6、相对于采用多个相机同时采图对多相机的同步性要求高的问题,本申请一些实施例中只使用单相机采图,从而解决了上述问题。7、相对于相关技术中采用多个相机进行独立检测玻璃表面缺陷,表面缺陷的整体性差,且易破坏相邻相机分界处的表面缺陷特征,影响检测结果的问题,本申请一些实施例中通过分段读取图像数据后进行分段双线性插值缩放,并进行图像拼接,将超大位图处理成一张完整的小图后再进行算法检测,使缺陷特征能够保证完整性。以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1