CN116625239B - 一种基于图像处理的台阶孔检测方法、装置及*** - Google Patents

一种基于图像处理的台阶孔检测方法、装置及*** Download PDF

Info

Publication number
CN116625239B
CN116625239B CN202310885802.4A CN202310885802A CN116625239B CN 116625239 B CN116625239 B CN 116625239B CN 202310885802 A CN202310885802 A CN 202310885802A CN 116625239 B CN116625239 B CN 116625239B
Authority
CN
China
Prior art keywords
image
step hole
circle
pixel values
points
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310885802.4A
Other languages
English (en)
Other versions
CN116625239A (zh
Inventor
张帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Canwei Technology Co ltd
Original Assignee
Shenzhen Canwei Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Canwei Technology Co ltd filed Critical Shenzhen Canwei Technology Co ltd
Priority to CN202310885802.4A priority Critical patent/CN116625239B/zh
Publication of CN116625239A publication Critical patent/CN116625239A/zh
Application granted granted Critical
Publication of CN116625239B publication Critical patent/CN116625239B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/08Measuring arrangements characterised by the use of optical techniques for measuring diameters
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/26Measuring arrangements characterised by the use of optical techniques for measuring angles or tapers; for testing the alignment of axes
    • G01B11/27Measuring arrangements characterised by the use of optical techniques for measuring angles or tapers; for testing the alignment of axes for testing the alignment of axes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及图像处理技术领域,特别是涉及一种基于图像处理的台阶孔检测方法、装置及***。方法包括:控制夹具移动并采集第一图像,由第一图像确定若干移动方向后控制摄像头沿所述移动方向移动并连续采集第二图像,从中选取若干目标图像,由目标图像获得台阶孔的内轮廓的点及外轮廓的点并进行圆拟合得到内圆及外圆,判断内圆与外圆同心度是否小于设定值,若判定同心度合格则确定台阶孔在各移动方向上的台阶宽度并判断台阶孔宽度的最大值及最小值是否在设定偏差范围内,若是,则判定台阶孔合格。本发明提供的方法采用图像识别的处理方式进行台阶孔检测,实现了台阶孔在线检测,避免图像畸变对检测结果的影响,获得更精确且可靠的台阶孔的检测结果。

Description

一种基于图像处理的台阶孔检测方法、装置及***
技术领域
本发明涉及图像处理技术领域,特别是涉及一种基于图像处理的台阶孔检测方法、装置及***。
背景技术
在手机制造过程中,为保证中框与各手机组件的配合精度,对于中框各孔的位置和尺寸要求严格,故需在完成生产后进行合格检测。其中就包括台阶孔的检测,不同于一般的通孔,从形状上看,台阶孔由两个直径不同的空心圆柱构成。
而现有技术对台阶孔的检测是通过分别检测台阶孔的两个构成部分的圆度,这造成了无法准确判断两个构成部分的相对误差,进而无法确定两个构成部分的同心度以获得精确且可靠的台阶孔的检测结果。
基于此,需寻找一种能够获得更精确更可靠的台阶孔的检测结果的方案。
发明内容
基于此,有必要针对上述的问题,提供一种基于图像处理的台阶孔检测方法、装置及***。
本发明实施例是这样实现的,一种基于图像处理的台阶孔检测方法包括:
控制夹具移动,在台阶孔的设计中心与摄像头的拍摄中心重合时采集第一图像;
根据采集到的第一图像确定出若干个移动方向;
控制摄像头分别沿各个所述移动方向进行移动并连续采集第二图像,从采集到的第二图像中选取若干目标图像;
确定每个目标图像中台阶孔的内轮廓的点和外轮廓的点;
由所有的内轮廓的点进行圆拟合得到内圆;
由所有的外轮廓的点进行圆拟合得到外圆;
计算所述内圆与所述外圆的同心度,判断同心度是否小于设定值,若是,则判定同心度合格,若否,则判定同心度不合格;
若同心度合格,则根据选取的目标图像对应的采集时刻摄像头的移动距离确定台阶孔在各个移动方向上的台阶宽度,所述台阶宽度等于内圆与外圆的半径之差;
选取台阶宽度的最大值和最小值,判断台阶宽度的最大值和最小值是否都在设定偏差范围内,若是,则判定台阶孔合格,否则判定台阶孔不合格。
在其中一个实施例中,本发明提供了一种基于图像处理的台阶孔检测装置包括:
图像采集模块一:所述图像采集模块一用于控制夹具移动,在台阶孔的设计中心与摄像头的拍摄中心重合时采集第一图像;
图像处理模块一:所述图像处理模块一用于根据采集到的第一图像确定出若干个移动方向;
图像采集模块二:所述图像采集模块二用于控制摄像头分别沿各个所述移动方向进行移动并连续采集第二图像,从采集到的第二图像中选取若干目标图像;
图像处理模块二:所述图像处理模块二用于确定每个目标图像中台阶孔的内轮廓的点和外轮廓的点;由所有的内轮廓的点进行圆拟合得到内圆;由所有的外轮廓的点进行圆拟合得到外圆;
判断模块一:所述判断模块一用于计算所述内圆与所述外圆的同心度,判断同心度是否小于设定值,若是,则判定同心度合格,若否,则判定同心度不合格;
图像处理模块三:所述图像处理模块三用于若同心度合格,则根据选取的目标图像对应的采集时刻摄像头的移动距离确定台阶孔在各个移动方向上的台阶宽度,所述台阶宽度等于内圆与外圆的半径之差;
判断模块二:所述判断模块二用于选取台阶宽度的最大值和最小值,判断台阶宽度的最大值和最小值是否都在设定偏差范围内,若是,则判定台阶孔合格,否则判定台阶孔不合格。
在其中一个实施例中,本发明提供了一种基于图像处理的台阶孔检测***包括检测设备和处理器,所述处理器与所述检测设备通信:
所述检测设备包括夹具、导轨、竖向摄像头;
所述处理器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本发明任意一个或者多个实施例所述视觉检测用自定位控制方法的步骤。
本发明涉及图像处理技术领域,特别是涉及一种基于图像处理的台阶孔检测方法、装置及***。方法包括:控制夹具移动并采集第一图像,由第一图像确定若干移动方向后控制摄像头沿所述移动方向移动并连续采集第二图像,从中选取若干目标图像,由目标图像获得台阶孔的内轮廓的点及外轮廓的点并进行圆拟合得到内圆及外圆,判断内圆与外圆同心度是否小于设定值,若判定同心度合格则确定台阶孔在各移动方向上的台阶宽度并判断台阶孔宽度的最大值及最小值是否在设定偏差范围内,若是,则判定台阶孔合格。本发明提供的方法采用图像识别的处理方式进行台阶孔检测,实现了台阶孔在线检测,避免图像畸变对检测结果的影响,获得更精确且可靠的台阶孔的检测结果。
附图说明
图1为一个实施例中基于图像处理的台阶孔检测方法的流程框图;
图2为一个实施例中基于图像处理的台阶孔检测装置的结构框图;
图3为一个实施例中基于图像处理的台阶孔检测***的结构框图;
图4为一个实施例中检测设备的硬件结构图;
图5为一个实施例中计算机设备的内部结构框图。
附图中:1、夹具;2、导轨;3、横向摄像头;4、竖向摄像头;5、识别摄像头。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一xx脚本称为第二xx脚本,且类似地,可将第二xx脚本称为第一xx脚本。
图1为一个实施例中提供的基于图像处理的台阶孔检测方法的流程框图,如图1所示,在一个实施例中提出了一种基于图像处理的台阶孔检测方法,包括:
控制夹具移动,在台阶孔的设计中心与摄像头的拍摄中心重合时采集第一图像;
根据采集到的第一图像确定出若干个移动方向;
控制摄像头分别沿各个所述移动方向进行移动并连续采集第二图像,从采集到的第二图像中选取若干目标图像;
确定每个目标图像中台阶孔的内轮廓的点和外轮廓的点;
由所有的内轮廓的点进行圆拟合得到内圆;
由所有的外轮廓的点进行圆拟合得到外圆;
计算所述内圆与所述外圆的同心度,判断同心度是否小于设定值,若是,则判定同心度合格,若否,则判定同心度不合格;
若同心度合格,则根据选取的目标图像对应的采集时刻摄像头的移动距离确定台阶孔在各个移动方向上的台阶宽度,所述台阶宽度等于内圆与外圆的半径之差;
选取台阶宽度的最大值和最小值,判断台阶宽度的最大值和最小值是否都在设定偏差范围内,若是,则判定台阶孔合格,否则判定台阶孔不合格。
在本实施例中,由于台阶孔不用于一般通孔,是由大直径空心圆柱中嵌套小直径空心圆柱两部分构成,往常的台阶孔检测大都采用对台阶孔的两个部分进行分别检测,分开检测台阶孔每一部分的圆度。而分开检测无法准确地判断台阶孔两个部分之间的相对误差,也无法确定两个部分的同心度是否符合标准。基于此,本发明提出的方法基于图像处理,对台阶孔进行整体的形状检测,通过图像的采集和处理过程获取台阶孔的同心度及台阶孔的台阶宽度等检测结果并评估。并且在图像的处理分析过程中,考虑到畸变的影响,采取相对应的方法步骤最大限度地避免图像的畸变问题对台阶孔检测结果的影响,以获得更为准确可靠的台阶孔检测结果。
在本实施例中,控制夹具移动,直到台阶孔的设计中心与摄像头的拍摄中心重合,在这一时刻控制摄像头进行拍摄,采集得到第一图像。由于台阶孔的设计中心与摄像头的拍摄中心重合,获得中心位置无畸变的、以台阶孔设计中心位置为图像中心的第一图像。
同时,台阶孔在图像中呈现为一个环形,该环形的中心区域与外部区域均为图像的背景像素,而又因为畸变的原因,孔的内壁常会出现在环形中,使环形的区域扩大,从而导致无法通过任意的采集到的图像准确地识别出环形区域的边界轮廓的位置,且在第一图像中,台阶孔在图像中对应的环形区域的宽度非为均一。为解决图像畸变对检测结果的影响,本发明通过对获得的第一图像进行图像处理,通过做辅助射线确定图像中心点与每个角度下辅助射线沿着移动方向上所经过的第一个非背景像素点的距离,通过找出各个角度下所述距离的极值,以极值对应的方向作为摄像头接下来采集第二图像时候的移动方向。同时考虑到出现多个连续的相同数值的情况,选取这些相同数值所对应的辅助射线中间位置的辅助射线的方向作为移动方向。
控制摄像头沿确定的移动方向进行移动并连续拍摄,采集到一系列的第二图像,即各个移动方向上,均可得到若干第二图像,但由于这些第二图像存在有不同程度的图像畸变,所以需要从中选取位置无畸变的目标图像,即目标图像。再根据选取到的目标图像确定台阶孔的环形区域的内轮廓及外轮廓上的点。
根据确定的台阶孔的环形区域的内轮廓及外轮廓上的点,通过圆拟合得到内圆与外圆,根据内外圆圆心的偏差值判断台阶孔的同心度是否合格,并在完成同心度判断后,根据内外圆的半径之差,即在同方向上两张目标图像的采集时刻摄像头移动距离的差值,以确定台阶孔的台阶宽度,并台阶宽度的极值即台阶宽度的最大值和最小值是否都在设定偏差范围内。
在本实施例中,同心度设定值根据对应的手机中框的型号进行确定,不同型号的手机中框的台阶孔同心度设定值不同;根据手机中框的型号还可以确定台阶宽度的设定偏差范围,即不同型号的手机中框的台阶宽度不同。
本发明涉及图像处理技术领域,特别是涉及一种基于图像处理的台阶孔检测方法、装置及***。方法包括:控制夹具移动并采集第一图像,由第一图像确定若干移动方向后控制摄像头沿所述移动方向移动并连续采集第二图像,从中选取若干目标图像,由目标图像获得台阶孔的内轮廓的点及外轮廓的点并进行圆拟合得到内圆及外圆,判断内圆与外圆同心度是否小于设定值,若判定同心度合格则确定台阶孔在各个移动方向上的台阶宽度并判断台阶孔宽度的最大值及最小值是否在设定偏差范围内,若是,则判定台阶孔合格。本发明提供的方法采用图像识别的处理方式进行台阶孔检测,实现了台阶孔在线检测,避免图像畸变对检测结果的影响,获得更精确且可靠的台阶孔的检测结果。
在一个实施例中,所述根据采集到的第一图像确定出若干个移动方向,包括:
获取采集到的第一图像的背景像素;
在采集到的第一图像上生成以图像中心为原点的辅助射线;
使辅助射线绕原点按照设定角度旋转,记录每个角度下辅助射线经过的第一个非背景像素点,并标记为目标像素点;
确定原点与各个目标像素点的距离;
确定距离的极值,将所述极值对应的辅助射线的方向作为移动方向。
在本实施例中,在采集到的第一图像中,生成的辅助射线以第一图像中心为原点,按照设定角度进行旋转。其中,设定的角度可以是任意度数。
如果设定的角度为1度,即辅助射线绕第一图像中心每次转过1个设定的角度,如1度角时,记录该角度下辅助射线从原点出发沿辅助射线的方向经过的第一个非背景像素点,将其标记为目标像素点,其中,非背景像素点指与第一图像的背景像素进行比较,该像素点的像素值与背景像素点的像素值不相同的像素点。
获得多个被标记的目标像素点后,确定原点与各个目标像素点的距离,将得到的距离的数值进行大小比较,当其中某个数值与邻域内其他数值比较,比较结果为该数值比邻域内其他数值都要大或者都要小的时候,该数值为极值。确定距离的数值中的极值,找到这些极值所对应的辅助射线,将这些辅助射线的方向作为移动方向。
在一个实施例中,所述确定原点与各个目标像素点的距离,之后还包括:
比较距离的数值,若存在多个连续的相同数值,则将所述相同数值所对应的处于中间位置的辅助射线的方向作为移动方向。
在本实施例中,在第一图像中生成辅助射线并让辅助射线按照设定角度进行旋转,记录每个旋转角度下辅助射线从原点出发沿辅助射线的方向经过的第一个非背景像素点,将该非背景像素点标记为目标像素点。确定所有标记的目标像素点与第一图像中心点的距离,将各个距离的数值进行大小比较,当出现有多个连续的相同数值,选取这些相同数值中处于中间位置的辅助摄像所对应的方向作为移动方向。即如果出现了7个连续的、标记的目标像素点与第一图像中心点距离的数值相同的情况,则选取处于中间位置的第4个标记的目标像素点所对应的辅助射线的方向作为摄像头移动的方向。
在一个实施例中,所述从采集到的第二图像中选取若干目标图像,包括:
获取采集到的第二图像的背景像素值;
获取采集到的第二图像中心点的像素值;
比较中心点的像素值与背景像素值是否相同,若不同,则生成一条经过所述第二图像中心点且与移动方向平行的辅助线;
获取中心点两侧辅助线上各一个设定长度范围内的所有像素点的像素值,并分别与背景像素值进行比较;
若中心点单侧辅助线上一个设定长度内的辅助线上所有像素点的像素值均与背景像素值不同,且另一侧辅助线上一个设定长度内的辅助线上所有像素点的像素值均与背景像素值相同,则选取对应的第二图像作为目标图像。
在本实施例中,由摄像头沿着移动方向进行移动,同步地对着台阶孔进行连续拍照,得到一系列的第二图像。
这些第二图像中,拍摄到的台阶孔在图像里呈现为一个环形,该环形的中部与外部都是背景像素。但由于图像畸变的原因,孔的内壁会出现在环形中,使得环形的区域扩大,从而导致在存在畸变的图像中准确识别出台阶孔环形区域的边界轮廓,不论是内环轮廓还是外环轮廓。而当摄像头的拍摄中心与台阶孔的环形区域的轮廓上的点对齐时,拍摄到的图像中心位置无畸变,即可以准确识别出台阶孔环形区域的边界轮廓,基于此,需要在采集到系列第二图像中选出这些中心位置无畸变的图像。
在本实施例中,对于每个移动方向,对采集到的每一张第二图像进行背景像素值和中心点像素值的获取及比较,如果二者相同,则说明摄像头的拍摄中心对齐位置还未进入台阶孔的环形区域内;如果二者不相同,则说明摄像头的拍摄中心对齐的位置已经进入到台阶孔的环形区域内。在这些背景像素值与中心点的像素值不相同的第二图像上生成一条经过中心点,并且与摄像头移动方向平行的辅助线,获取中心点两侧辅助线上各一个设定长度范围内的所有像素点的像素值,并分别与背景像素值进行比较。其中,设定的长度小于台阶孔在第二图像中环形区域的宽度。
对中心点两侧辅助线上一个设定长度内的辅助线上所有像素点的像素值均与背景像素值不同,且另一侧辅助线上一个设定长度内的辅助线上所有像素点的像素值均与背景像素值相同,则说明该中心点位于台阶孔在第二图像中环形区域的轮廓上,且所对应的第二图像中心位置无畸变,即将之选取为目标图像。
在一个实施例中,所述若中心点单侧辅助线上一个设定长度内的辅助线上所有像素点的像素值均与背景像素值不同,且另一侧辅助线上一个设定长度内的辅助线上所有像素点的像素值均与背景像素值相同,则选取对应的第二图像作为目标图像,包括:
若中心点前侧辅助线上一个设定长度范围内的所有像素点的像素值均与背景像素值相同,且中心点后侧辅助线上一个设定长度范围内的所有像素点的像素值均与背景像素值不同,则将对应的第二图标记为第一目标图像,其中,第一目标图像的中心点为台阶孔的内轮廓的点;
若中心点前侧辅助线上一个设定长度范围内的所有像素点的像素值均与背景像素值不同,且中心点后侧辅助线上一个设定长度范围内的所有像素点的像素值均与背景像素值相同,则将对应的第二图标记为第二目标图像,其中,第二目标图像的中心点为台阶孔的外轮廓的点。
在本实施例中,所述中心点前侧指沿着摄像头的移动方向,第二图像中生成的辅助线,在到达中心点前的部分;所述中心点后侧指沿着摄像头的移动方向,第二图像中生成的辅助线,在中心点后的部分。
在本实施例中,应该理解的是,任一摄像头移动方向上获得的第二图像中可选取出两张中心位置无畸变的目标图像,且这两张目标图像的中心点分别对应着台阶孔在同一个摄像头的移动方向上的内轮廓、外轮廓上面的点,两张目标图像相互对应,成对出现的。
在一个实施例中,所述计算所述内圆与所述外圆的同心度,包括:
根据所述内圆的圆心位置坐标及所述外圆的圆心位置坐标按以下公式计算圆心偏差距离L:
其中,所述内圆的圆心位置坐标为(x1,y1),所述外圆的圆心位置坐标为(x2,y2);
所述圆心偏差距离L为所述内圆与所述外圆的同心度。
在本实施例中,可以根据确定的内轮廓的点进行圆拟合生成内圆,建立平面坐标系,以摄像头的原始位置即第一图像采集时刻摄像头的位置作为原点,利用最小二乘法,更新优化内圆圆心坐标,使各个内轮廓的点到拟合生成的内圆上的距离之和最小,并在各个台阶孔内轮廓上的点到内圆上的距离之和最小的时候确定拟合生成的内圆的圆心位置坐标(x1,y1)。使用同样的处理方式,根据确定的外轮廓的点进行圆拟合生成外圆,并确定外圆的圆心位置坐标(x2,y2)。
在一个实施例中,所述根据选取的目标图像对应的采集时刻摄像头的移动距离确定台阶孔在各个移动方向上的台阶宽度,包括:
确定各个选取的目标图像对应的采集时刻;
确定所述采集时刻摄像头相对于在第一图像采集时刻摄像头的位置沿着移动方向的移动距离;
计算同一移动方向上的目标图像对应的摄像头的移动距离的差值;
将所述差值作为对应移动方向上台阶孔的台阶宽度。
在本实施例中,由于无畸变的目标图像是成对出现的,对于同一移动方向上的两张目标图像,可以通过采集这两张目标图像时,相对于第一图像的采集时刻摄像头的位置,摄像头在采集目标图像时刻的位置,其位置的差值即为移动经过的距离。如在同一移动方向上采集第一目标图像时摄像头的位置为原点,摄像头相对于该原点的移动距离为l1,采集第二目标图像时,摄像头相对于该原点的移动距离为l2,其中,l2与l1的差值在图像上即为台阶孔的圆环区域的宽度,也就是台阶孔的台阶宽度。
在本实施例中,从几何角度,可以理解为将第一图像的采集时刻摄像头的位置作为原点,采集第一目标图像时刻摄像头的位置为台阶孔的内圆半径,采集第二目标图像时刻摄像头的位置为台阶孔的外圆半径,同一移动方向上,内外圆半径的差值即为台阶孔在该对应移动方向上的台阶宽度。
如图2所示,在一个实施例中,提供了一种基于图像处理的台阶孔检测装置包括:
图像采集模块一:所述图像采集模块一用于控制夹具移动,在台阶孔的设计中心与摄像头的拍摄中心重合时采集第一图像;
图像处理模块一:所述图像处理模块一用于根据采集到的第一图像确定出若干个移动方向;
图像采集模块二:所述图像采集模块二用于控制摄像头分别沿各个所述移动方向进行移动并连续采集第二图像,从采集到的第二图像中选取若干目标图像;
图像处理模块二:所述图像处理模块二用于确定每个目标图像中台阶孔的内轮廓的点和外轮廓的点;由所有的内轮廓的点进行圆拟合得到内圆;由所有的外轮廓的点进行圆拟合得到外圆;
判断模块一:所述判断模块一用于计算所述内圆与所述外圆的同心度,判断同心度是否小于设定值,若是,则判定同心度合格,若否,则判定同心度不合格;
图像处理模块三:所述图像处理模块三用于若同心度合格,则根据选取的目标图像对应的采集时刻摄像头的移动距离确定台阶孔在各个移动方向上的台阶宽度,所述台阶宽度等于内圆与外圆的半径之差;
判断模块二:所述判断模块二用于选取台阶宽度的最大值和最小值,判断台阶宽度的最大值和最小值是否都在设定偏差范围内,若是,则判定台阶孔合格,否则判定台阶孔不合格。
在本实施例中,基于图像处理的台阶孔检测装置具体可以包括:图像采集模块一、图像处理模块一、图像采集模块二、图像处理模块二、判断模块一、图像处理模块三和判断模块二,上述各个模块为本发明提供的方法的模块化,对于各个模块的解释说明请参考本发明方法部分的内容,本实施例在此不再赘述。
如图3所示,在一个实施例中,提供了一种基于图像处理的台阶孔检测***包括检测设备和处理器,所述处理器与所述检测设备通信:
所述检测设备包括夹具、导轨、竖向摄像头;
所述处理器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本发明任意一个或者多个实施例所述视觉检测用自定位控制方法的步骤。
在本实施例中,如图4所示,所述检测设备可以包括夹具1、导轨2、横向摄像头3、竖向摄像头4、识别摄像头5;其中,竖向摄像头4用于台阶孔图像的采集,横向摄像头3用于中框侧边图像的采集,识别摄像头5用于对待测手机中框进行扫码检测并识别手机中框的型号,同时,由识别摄像头5的识别结果可确定该型号手机中框的台阶孔对应的台阶孔的设计中心、同心度设定值及台阶宽度的设定偏差范围等。在本实施例中,控制夹具1沿着导轨移动,夹具依次通过识别摄像头5、横向摄像头3、竖向摄像头4,并在竖向摄像头4下执行本发明方法步骤以完成对台阶孔的检测。
图5示出了一个实施例中计算机设备的内部结构图。如图5所示,该计算机设备包括该计算机设备包括通过***总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现本发明实施例提供的基于图像处理的台阶孔检测方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行本发明实施例提供的基于图像处理的台阶孔检测方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本发明实施例提供的基于图像处理的台阶孔检测装置可以实现为一种计算机程序的形式,计算机程序可在如图5所示的计算机设备上运行。计算机设备的存储器中可存储组成该基于图像处理的台阶孔检测装置的各个程序模块,比如,图2所示的图像采集模块一、图像处理模块一、图像采集模块二、图像处理模块二、判断模块一、图像处理模块三和判断模块二。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本发明各个实施例的基于图像处理的台阶孔检测方法中的步骤。
例如,图5所示的计算机设备可以通过如图2所示的基于图像处理的台阶孔检测装置中的图像采集模块一执行步骤S100控制夹具移动,在台阶孔的设计中心与摄像头的拍摄中心重合时采集第一图像;计算机设备可通过图像处理模块一执行步骤S101:根据采集到的第一图像确定出若干个移动方向;计算机设备可通过图像采集模块二执行步骤S102:控制摄像头分别沿各个所述移动方向进行移动并连续采集第二图像,从采集到的第二图像中选取若干目标图像;计算机设备可通过图像处理模块二执行步骤S103:确定每个目标图像中台阶孔的内轮廓的点和外轮廓的点;步骤S104:由所有的内轮廓的点进行圆拟合得到内圆;步骤S105:由所有的外轮廓的点进行圆拟合得到外圆;计算机设备可通过判断模块一执行步骤S106:计算所述内圆与所述外圆的同心度,判断同心度是否小于设定值,若是,则判定同心度合格,若否,则判定同心度不合格;计算机设备可通过图像处理模块三执行步骤S107:若同心度合格,则根据选取的目标图像对应的采集时刻摄像头的移动距离确定台阶孔在各个移动方向上的台阶宽度,所述台阶宽度等于内圆与外圆的半径之差;计算机设备可通过判断模块二执行步骤S108:选取台阶宽度的最大值和最小值,判断台阶宽度的最大值和最小值是否都在设定偏差范围内,若是,则判定台阶孔合格,否则判定台阶孔不合格。
在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
控制夹具移动,在台阶孔的设计中心与摄像头的拍摄中心重合时采集第一图像;
根据采集到的第一图像确定出若干个移动方向;
控制摄像头分别沿各个所述移动进行方向移动并连续采集第二图像,从采集到的第二图像中选取若干目标图像;
确定每个目标图像中台阶孔的内轮廓的点和外轮廓的点;
由所有的内轮廓的点进行圆拟合得到内圆;
由所有的外轮廓的点进行圆拟合得到外圆;
计算所述内圆与所述外圆的同心度,判断同心度是否小于设定值,若是,则判定同心度合格,若否,则判定同心度不合格;
若同心度合格,则根据选取的目标图像对应的采集时刻摄像头的移动距离确定台阶孔在各个移动方向上的台阶宽度,所述台阶宽度等于内圆与外圆的半径之差;
选取台阶宽度的最大值和最小值,判断台阶宽度的最大值和最小值是否都在设定偏差范围内,若是,则判定台阶孔合格,否则判定台阶孔不合格。
在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:
控制夹具移动,在台阶孔的设计中心与摄像头的拍摄中心重合时采集第一图像;
根据采集到的第一图像确定出若干个移动方向;
控制摄像头分别沿各个所述移动方向进行移动并连续采集第二图像,从采集到的第二图像中选取若干目标图像;
确定每个目标图像中台阶孔的内轮廓的点和外轮廓的点;
由所有的内轮廓的点进行圆拟合得到内圆;
由所有的外轮廓的点进行圆拟合得到外圆;
计算所述内圆与所述外圆的同心度,判断同心度是否小于设定值,若是,则判定同心度合格,若否,则判定同心度不合格;
若同心度合格,则根据选取的目标图像对应的采集时刻摄像头的移动距离确定台阶孔在各个移动方向上的台阶宽度,所述台阶宽度等于内圆与外圆的半径之差;
选取台阶宽度的最大值和最小值,判断台阶宽度的最大值和最小值是否都在设定偏差范围内,若是,则判定台阶孔合格,否则判定台阶孔不合格。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (7)

1.一种基于图像处理的台阶孔检测方法,应用于检测设备,其特征在于,所述检测设备包括夹具、导轨、竖向摄像头,其中,竖向摄像头用于台阶孔图像的采集,所述基于图像处理的台阶孔检测方法包括:
控制夹具夹持具有台阶孔的手机中框沿着导轨移动,在台阶孔的设计中心与竖向摄像头的拍摄中心重合时采集第一图像;
根据采集到的第一图像确定出若干个移动方向;
控制竖向摄像头分别沿各个所述移动方向进行移动并连续采集第二图像,从采集到的第二图像中选取若干目标图像;
确定每个目标图像中台阶孔的内轮廓的点和外轮廓的点;
由所有的内轮廓的点进行圆拟合得到内圆;
由所有的外轮廓的点进行圆拟合得到外圆;
计算所述内圆与所述外圆的同心度,判断同心度是否小于设定值,若是,则判定同心度合格,若否,则判定同心度不合格;
若同心度合格,则根据选取的目标图像对应的采集时刻竖向摄像头的移动距离确定台阶孔在各个移动方向上的台阶宽度,所述台阶宽度等于内圆与外圆的半径之差;
选取台阶宽度的最大值和最小值,判断台阶宽度的最大值和最小值是否都在设定偏差范围内,若是,则判定台阶孔合格,否则判定台阶孔不合格;
所述根据采集到的第一图像确定出若干个移动方向,包括:
获取采集到的第一图像的背景像素;
在采集到的第一图像上生成以图像中心为原点的辅助射线;
使辅助射线绕原点按照设定角度旋转,记录每个角度下辅助射线经过的第一个非背景像素点,并标记为目标像素点;
确定原点与各个目标像素点的距离;
确定距离的极值,将所述极值对应的辅助射线的方向作为移动方向;
所述从采集到的第二图像中选取若干目标图像,包括:
获取采集到的第二图像的背景像素值;
获取采集到的第二图像中心点的像素值;
比较中心点的像素值与背景像素值是否相同,若不同,则生成一条经过所述第二图像中心点且与移动方向平行的辅助线;
获取中心点两侧辅助线上各一个设定长度范围内的所有像素点的像素值,并分别与背景像素值进行比较;
若中心点单侧辅助线上一个设定长度内的辅助线上所有像素点的像素值均与背景像素值不同,且另一侧辅助线上一个设定长度内的辅助线上所有像素点的像素值均与背景像素值相同,则选取对应的第二图像作为目标图像。
2.根据权利要求1所述基于图像处理的台阶孔检测方法,其特征在于,所述确定原点与各个目标像素点的距离,之后还包括:
比较距离的数值,若存在多个连续的相同数值,则将所述相同数值所对应的处于中间位置的辅助射线的方向作为移动方向。
3.根据权利要求1所述基于图像处理的台阶孔检测方法,其特征在于,所述若中心点单侧辅助线上一个设定长度内的辅助线上所有像素点的像素值均与背景像素值不同,且另一侧辅助线上一个设定长度内的辅助线上所有像素点的像素值均与背景像素值相同,则选取对应的第二图像作为目标图像,包括:
若中心点前侧辅助线上一个设定长度范围内的所有像素点的像素值均与背景像素值相同,且中心点后侧辅助线上一个设定长度范围内的所有像素点的像素值均与背景像素值不同,则将对应的第二图标记为第一目标图像,其中,第一目标图像的中心点为台阶孔的内轮廓的点;
若中心点前侧辅助线上一个设定长度范围内的所有像素点的像素值均与背景像素值不同,且中心点后侧辅助线上一个设定长度范围内的所有像素点的像素值均与背景像素值相同,则将对应的第二图标记为第二目标图像,其中,第二目标图像的中心点为台阶孔的外轮廓的点。
4.根据权利要求1所述基于图像处理的台阶孔检测方法,其特征在于,所述计算所述内圆与所述外圆的同心度,包括:
根据所述内圆的圆心位置坐标及所述外圆的圆心位置坐标按以下公式计算圆心偏差距离L:
其中,所述内圆的圆心位置坐标为(x1,y1),所述外圆的圆心位置坐标为(x2,y2);
所述圆心偏差距离L为所述内圆与所述外圆的同心度。
5.根据权利要求1所述基于图像处理的台阶孔检测方法,其特征在于,所述根据选取的目标图像对应的采集时刻竖向摄像头的移动距离确定台阶孔在各个移动方向上的台阶宽度,包括:
确定各个选取的目标图像对应的采集时刻;
确定所述采集时刻竖向摄像头相对于在第一图像采集时刻竖向摄像头的位置沿着移动方向的移动距离;
计算同一移动方向上的目标图像对应的竖向摄像头的移动距离的差值;
将所述差值作为对应移动方向上台阶孔的台阶宽度。
6.一种基于图像处理的台阶孔检测装置,应用于检测设备,其特征在于,所述检测设备包括夹具、导轨、竖向摄像头,其中,竖向摄像头用于台阶孔图像的采集,所述基于图像处理的台阶孔检测装置,包括:
图像采集模块一:所述图像采集模块一用于控制夹具夹持具有台阶孔的手机中框沿着导轨移动,在台阶孔的设计中心与竖向摄像头的拍摄中心重合时采集第一图像;
图像处理模块一:所述图像处理模块一用于根据采集到的第一图像确定出若干个移动方向;
图像采集模块二:所述图像采集模块二用于控制竖向摄像头分别沿各个所述移动方向进行移动并连续采集第二图像,从采集到的第二图像中选取若干目标图像;
图像处理模块二:所述图像处理模块二用于确定每个目标图像中台阶孔的内轮廓的点和外轮廓的点;由所有的内轮廓的点进行圆拟合得到内圆;由所有的外轮廓的点进行圆拟合得到外圆;
判断模块一:所述判断模块一用于计算所述内圆与所述外圆的同心度,判断同心度是否小于设定值,若是,则判定同心度合格,若否,则判定同心度不合格;
图像处理模块三:所述图像处理模块三用于若同心度合格,则根据选取的目标图像对应的采集时刻竖向摄像头的移动距离确定台阶孔在各个移动方向上的台阶宽度,所述台阶宽度等于内圆与外圆的半径之差;
判断模块二:所述判断模块二用于选取台阶宽度的最大值和最小值,判断台阶宽度的最大值和最小值是否都在设定偏差范围内,若是,则判定台阶孔合格,否则判定台阶孔不合格;
所述根据采集到的第一图像确定出若干个移动方向,包括:
获取采集到的第一图像的背景像素;
在采集到的第一图像上生成以图像中心为原点的辅助射线;
使辅助射线绕原点按照设定角度旋转,记录每个角度下辅助射线经过的第一个非背景像素点,并标记为目标像素点;
确定原点与各个目标像素点的距离;
确定距离的极值,将所述极值对应的辅助射线的方向作为移动方向;
所述从采集到的第二图像中选取若干目标图像,包括:
获取采集到的第二图像的背景像素值;
获取采集到的第二图像中心点的像素值;
比较中心点的像素值与背景像素值是否相同,若不同,则生成一条经过所述第二图像中心点且与移动方向平行的辅助线;
获取中心点两侧辅助线上各一个设定长度范围内的所有像素点的像素值,并分别与背景像素值进行比较;
若中心点单侧辅助线上一个设定长度内的辅助线上所有像素点的像素值均与背景像素值不同,且另一侧辅助线上一个设定长度内的辅助线上所有像素点的像素值均与背景像素值相同,则选取对应的第二图像作为目标图像。
7.一种基于图像处理的台阶孔检测***,其特征在于,所述基于图像处理的台阶孔检测***包括检测设备和处理器,所述处理器与所述检测设备通信:
所述检测设备包括夹具、导轨、竖向摄像头;
所述处理器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至5中任一项权利要求所述基于图像处理的台阶孔检测方法的步骤。
CN202310885802.4A 2023-07-19 2023-07-19 一种基于图像处理的台阶孔检测方法、装置及*** Active CN116625239B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310885802.4A CN116625239B (zh) 2023-07-19 2023-07-19 一种基于图像处理的台阶孔检测方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310885802.4A CN116625239B (zh) 2023-07-19 2023-07-19 一种基于图像处理的台阶孔检测方法、装置及***

Publications (2)

Publication Number Publication Date
CN116625239A CN116625239A (zh) 2023-08-22
CN116625239B true CN116625239B (zh) 2023-09-15

Family

ID=87638524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310885802.4A Active CN116625239B (zh) 2023-07-19 2023-07-19 一种基于图像处理的台阶孔检测方法、装置及***

Country Status (1)

Country Link
CN (1) CN116625239B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117408963B (zh) * 2023-10-17 2024-05-07 中科苏州智能计算技术研究院 一种管壳自动分选方法、***和可存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102353349A (zh) * 2011-09-30 2012-02-15 广东工业大学 基于机器视觉的微型音膜同心度在线检测***及检测方法
CN102914243A (zh) * 2012-10-10 2013-02-06 大连德迈仕精密轴有限公司 一种检验轴类零件台阶孔同轴度的方法
CN106680287A (zh) * 2016-12-28 2017-05-17 无锡浩远视觉科技有限公司 一种轴承铆钉台阶缺陷的视觉检测方法
JP2017194425A (ja) * 2016-04-22 2017-10-26 株式会社 東京ウエルズ 欠陥検査方法および欠陥検査システム
CN209857865U (zh) * 2019-01-14 2019-12-27 贝原合金(苏州)有限公司 台阶孔深度同心度量具

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102353349A (zh) * 2011-09-30 2012-02-15 广东工业大学 基于机器视觉的微型音膜同心度在线检测***及检测方法
CN102914243A (zh) * 2012-10-10 2013-02-06 大连德迈仕精密轴有限公司 一种检验轴类零件台阶孔同轴度的方法
JP2017194425A (ja) * 2016-04-22 2017-10-26 株式会社 東京ウエルズ 欠陥検査方法および欠陥検査システム
CN106680287A (zh) * 2016-12-28 2017-05-17 无锡浩远视觉科技有限公司 一种轴承铆钉台阶缺陷的视觉检测方法
CN209857865U (zh) * 2019-01-14 2019-12-27 贝原合金(苏州)有限公司 台阶孔深度同心度量具

Also Published As

Publication number Publication date
CN116625239A (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
CA2507174C (en) Method of registering and aligning multiple images
CN113592954B (zh) 基于光学动捕的大空间环境下多相机标定方法及相关设备
CN116625239B (zh) 一种基于图像处理的台阶孔检测方法、装置及***
US7869643B2 (en) Advanced cell-to-cell inspection
US20180341829A1 (en) Image classification system and method, classification data creation system and method, and storage medium
Shan et al. A calibration method for stereovision system based on solid circle target
CN108875780A (zh) 基于图像数据的图像间差异对象的获取方法以及装置
CN111354038A (zh) 锚定物检测方法及装置、电子设备及存储介质
CN112308934A (zh) 标定检测方法及装置、存储介质、计算设备
CN117808814B (zh) 基于机器视觉的焊接缺陷检测与识别方法及***
CN116481434B (zh) 一种视觉检测用自定位控制方法、装置以及自定位***
CN117848234A (zh) 物体扫描机构、方法及相关设备
CN114187363A (zh) 一种获取径向畸变参数值的方法、装置以及移动终端
WO2020146965A1 (zh) 图像重新聚焦的控制方法及***
KR101559338B1 (ko) 카메라 모듈용 결함 픽셀 평가 시스템 및 이를 사용한 카메라 모듈용 결함 픽셀 평가 방법
CN112597832B (zh) 矩形件安装偏位判定方法和装置
CN114897990A (zh) 一种基于神经网络的相机畸变标定方法、***和存储介质
CN109449096B (zh) 识别检测晶元芯片的方法
CN113128499A (zh) 视觉成像设备的震动测试方法、计算机设备及存储介质
JP7399632B2 (ja) 撮影処理装置、及び撮影処理方法
CN108827157A (zh) 激光测量的校验方法、装置、***、设备和存储介质
CN117115275B (zh) 畸变参数的确定方法、装置和计算机设备
CN114187294B (zh) 基于先验信息的规则晶片定位方法
CN111447366B (zh) 运输方法、运输装置、电子装置及计算机可读存储介质
RU2351091C2 (ru) Способ автоматического определения и коррекции радиальной дисторсии на цифровом изображении

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant