CN114756214B - 基于OpenCV和插件的图像处理方法、装置 - Google Patents
基于OpenCV和插件的图像处理方法、装置 Download PDFInfo
- Publication number
- CN114756214B CN114756214B CN202210672438.9A CN202210672438A CN114756214B CN 114756214 B CN114756214 B CN 114756214B CN 202210672438 A CN202210672438 A CN 202210672438A CN 114756214 B CN114756214 B CN 114756214B
- Authority
- CN
- China
- Prior art keywords
- function
- configuration
- label
- cooperative
- image processing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Image Processing (AREA)
Abstract
本发明涉及图像数据处理技术领域,尤其涉及一种基于OpenCV和插件的图像处理方法、装置,包括:接收用户配置的配置函数以及相对应的配置标签,对配置函数添加配置标签后存储于配置存储空间;对所调用的协同函数镜像处理得到镜像协同函数,对镜像协同函数添加协同标签后存储于协同存储空间;根据不同的图像识别场景中所调取的配置函数和镜像协同函数的调取行为进行记录得到函数记录信息,生成与图像识别场景对应的标签集合;根据图像识别场景所对应的标签集合得到配置函数和/或镜像协同函数,对根据配置函数和/或镜像协同函数进行图像处理得到图像结果。
Description
技术领域
本发明涉及图像数据处理技术领域,尤其涉及一种基于OpenCV和插件的图像处理方法、装置。
背景技术
OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
一些不具有图像处理功能的设备可以通过与OpenCV的接口连接,进而调取相应的算法实现相应的图像处理功能。某些设备的场景较为单一,例如红外摄像头其主要目的是提取所拍摄区域的红外图像,自动驾驶设备的摄像头其主要目的是提取自动驾驶时的驾驶图像,红外图像的处理和驾驶图像的处理需要提取、处理的信息可能并不相同,则此时需要调取预先配置的函数或OpenCV中不同的函数。
所以亟需一种图像处理方案,能够根据处理需求快速确定到所配置函数或OpenCV的函数,进行处理,提高图像处理能力以及图像处理效率。
发明内容
本发明实施例提供一种基于OpenCV和插件的图像处理方法、装置。能够通过函数管理插件对用户配置的配置函数以及OpenCV调取的镜像协同函数进行统一管理,使得在图像处理过程中,能够根据处理需求快速确定到所配置函数或OpenCV的协同函数,提高图像处理能力以及图像处理效率的同时,降低管理员构建函数的工作量。
本发明实施例的第一方面,提供一种基于OpenCV和插件的图像处理方法,在图像处理设备处设置函数管理插件,所述函数管理插件用于对OpenCV和图像处理设备的接口进行监测,通过以下步骤进行图像处理,包括:
函数管理插件接收用户配置的配置函数以及相对应的配置标签,对所述配置函数添加配置标签后存储于配置存储空间;
函数管理插件判断图像处理设备和OpenCV的接口处调用协同函数时,则对所调用的协同函数镜像处理得到镜像协同函数,对所述镜像协同函数添加协同标签后存储于协同存储空间;
函数管理插件根据不同的图像识别场景中所调取的配置函数和镜像协同函数的调取行为进行记录得到函数记录信息,根据所述函数记录信息生成与图像识别场景对应的标签集合,所述标签集合包括配置标签和/或协同标签;
图像处理设备根据所接收到的触发信息确定图像识别场景,根据所述图像识别场景所对应的标签集合得到配置函数和/或镜像协同函数,对根据配置函数和/或镜像协同函数进行图像处理得到图像结果。
可选地,在第一方面的一种可能实现方式中,在函数管理插件接收用户配置的配置函数以及相对应的配置标签,对所述配置函数添加配置标签后存储于配置存储空间的步骤中,具体包括:
确定每个配置函数中的配置函数信息以及配置参数信息,所述配置函数信息为配置函数中的配置函数代码段,所述配置参数信息为配置函数中的配置参数代码段;
将所述配置存储空间分为配置函数子单元和配置参数子单元,每个配置函数子单元至少对应一个配置参数子单元;
确定多个具有相同配置函数信息的配置函数,将相同的配置函数信息的配置函数代码段存储于同一个配置函数子单元,将每个配置参数信息的配置参数代码段分别存储于不同的配置参数子单元;
对每个配置函数所对应的配置函数子单元、配置参数子单元进行统计得到配置函数路径表。
可选地,在第一方面的一种可能实现方式中,在对每个配置函数所对应的配置函数子单元、配置参数子单元进行统计得到配置函数路径表的步骤中,具体包括:
统计每个配置函数子单元所对应标记得到一维配置标签,统计每个配置参数子单元所对应的标记得到二维配置标签;
提取每个配置函数所对应的配置函数子单元所对应的一维配置标签、配置参数子单元所对应的二维配置标签,根据一维配置标签和二维配置标签生成配置函数调取路径;
将配置标签与所述配置函数调取路径关联,以使图像处理设备根据所述配置标签调取所述配置函数调取路径;
对所有的函数调取路径去重处理后生成树状图结构的配置函数路径表。
可选地,在第一方面的一种可能实现方式中,在对所有的函数调取路径去重处理后生成与所述树状图结构的配置函数路径表的步骤中,具体包括:
获取具有相同配置函数信息的函数调取路径,将相同配置函数信息所存储的配置函数子单元所对应的一维配置标签作为根节点;
获取具有相同配置函数信息的函数调取路径中每个配置参数子单元所对应的标记得到二维配置标签,将二维配置标签作为子节点;
对所有相同的根节点所对应的一维配置标签去重处理,将一个一维配置标签的根节点分别与相应的二维配置标签的子节点连接生成树状结构的函数调取路径及配置函数路径表。
可选地,在第一方面的一种可能实现方式中,还包括:
获取每个一维配置标签在预设时间段内被调取的调取次数,以及每个一维配置标签作为根节点所对应的子节点的数量;
根据每个一维配置标签在预设时间段的调取次数、所对应的子节点的数量生成所述一维配置标签所对应的树状结构的调取系数;
对所述调取系数进行降序排序得到标签排序结果,根据所述标签排序结果对所有树状结构的函数调取路径排序得到配置函数路径表。
可选地,在第一方面的一种可能实现方式中,在根据每个一维配置标签在预设时间段的调取次数、所对应的子节点的数量生成所述一维配置标签所对应的树状结构的调取系数的步骤中,具体包括:
对所述预设时间段的调取次数进行加权、归一化处理得到第一评价信息值,对所述子节点的数量进行加权、归一化处理得到第二评价信息值;
根据所述第一评价信息值和第二评价信息值进行计算得到调取系数;
通过以下公式计算调取系数,
可选地,在第一方面的一种可能实现方式中,在函数管理插件判断图像处理设备和OpenCV的接口处调用协同函数时,则对所调用的协同函数镜像处理得到镜像协同函数,对所述镜像协同函数添加协同标签后存储于协同存储空间的步骤中,具体包括:
函数管理插件根据钩子函数对图像处理设备和OpenCV的接口进行监测,触发钩子函数的事件为接口调用函数;
在钩子函数被触发后,函数管理插件获取图像处理设备和OpenCV的接口所调用的协同函数;
对所获取的协同函数进行镜像处理得到镜像协同函数;
将所述协同存储空间分为多个协同存储单元,将所述镜像协同函数所对应的代码存储于协同存储单元内并生成相对应的协同函数调取路径。
可选地,在第一方面的一种可能实现方式中,在将所述协同存储空间分为多个协同存储单元,将所述镜像协同函数所对应的代码存储于协同存储单元内并生成相对应的协同函数调取路径的步骤中,具体包括:
统计每个协同存储单元所对应的标记得到一维协同标签;
根据一维协同标签生成协同函数调取路径,将协同标签与所述协同函数调取路径关联,以使图像处理设备根据所述协同标签确定所述协同函数调取路径。
本发明实施例的第二方面,提供一种基于OpenCV和插件的图像处理装置,在图像处理设备处设置函数管理插件,所述函数管理插件用于对OpenCV和图像处理设备的接口进行监测,通过以下模块进行图像处理,包括:
函数配置存储模块,用于使函数管理插件接收用户配置的配置函数以及相对应的配置标签,对所述配置函数添加配置标签后存储于配置存储空间;
函数调用存储模块,用于使函数管理插件判断图像处理设备和OpenCV的接口处调用协同函数时,则对所调用的协同函数镜像处理得到镜像协同函数,对所述镜像协同函数添加协同标签后存储于协同存储空间;
集合生成模块,用于使函数管理插件根据不同的图像识别场景中所调取的配置函数和镜像协同函数的调取行为进行记录得到函数记录信息,根据所述函数记录信息生成与图像识别场景对应的标签集合,所述标签集合包括配置标签和/或协同标签;
图像处理模块,用于使图像处理设备根据所接收到的触发信息确定图像识别场景,根据所述图像识别场景所对应的标签集合得到配置函数和/或镜像协同函数,对根据配置函数和/或镜像协同函数进行图像处理得到图像结果。
本发明实施例的第三方面,提供一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现本发明第一方面及第一方面各种可能设计的所述方法。
本发明提供的一种基于OpenCV和插件的图像处理方法、装置。通过函数管理插件能够对用户配置的配置函数、基于OpenCV调用的协同函数进行统一的管理,并且在通过配置函数、协同函数进行协同的工作时,对配置函数、协同函数的组合方式进行相应的记录,使得本发明能够在某一个图像识别场景中快速的确定到所需要的多个函数,进而缩短所需要确定的函数的时间。本发明提供的技术方案,会对根据配置函数和协同函数的属性的不同采用不同的方式进行存储,并根究配置标签和/或协同标签对配置函数和/或协同函数进行组合,使得每个标签集合内的所有函数能够适用于当前的图像处理场景,进而得到相对应的图像处理结果。实现了配置函数以及OpenCV调取的镜像协同函数进行统一管理,快速确定到所配置函数或OpenCV的协同函数,提高图像处理能力以及图像处理效率的同时,降低管理员构建函数的工作量。
本发明提供的技术方案,在对配置函数进行存储时,会对在不同时间、阶段所输入的所有配置函数进行统一的管理,将配置函数分解为配置函数信息以及配置参数信息。对多个具有相同配置函数信息的配置函数进行归类得到树状结构的函数调取路径及配置函数路径表。通过树状结构的函数调取路径可以将多个具有重复部分的函数调取路径进行统一的处理,使得在调取相应的配置函数时,能够快速调取到具有相同的配置函数信息、不同的配置参数信息的配置函数,提高配置函数调取的速度,使得本发明可以通过树状结构的函数调取路径快速的调取具有相应功能的一组配置函数,降低配置函数的调取时间以及路径的存储数据量,实现对路径的归类化存储,易于后续管理员对配置函数的维护、调改。
本发明提供的技术方案,会根据每种树状结构的一维配置标签的调取次数、每个一维配置标签作为根节点所对应的子节点的数量对树状结构的函数调取路径进行评价,得到树状结构的函数调取路径的调取系数,按照相应的调取系数对树状结构的函数调取路径进行排序、得到配置函数路径表。该种方式,使得本发明在通过配置标签确定配置函数时,能够根据调用习惯优先遍历热度较高的配置函数,提高配置函数调用时的命中率,进而缩短函数的调用时间,提高图像处理的效率。
附图说明
图1为基于OpenCV和插件的图像处理方法的使用场景示意图;
图2为基于OpenCV和插件的图像处理方法的第一种实施方式的流程图;
图3为基于OpenCV和插件的图像处理方法的第二种实施方式的流程图;
图4为根据去重处理后配置函数路径表所得到的第一子结构的树状图;
图5为根据去重处理后配置函数路径表所得到的第二子结构的树状图;
图6为根据去重处理后配置函数路径表所得到的第三子结构的树状图;
图7为根据去重处理后配置函数路径表所得到的第四子结构的树状图;
图8为基于OpenCV和插件的图像处理方法的第一种实施方式的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
应当理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
应当理解,在本发明中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本发明中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和C”、“包含A、B、C”是指A、B、C三者都包含,“包含A、B或C”是指包含A、B、C三者之一,“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。
应当理解,在本发明中,“与A对应的B”、“与A相对应的B”、“A与B相对应”或者“B与A相对应”,表示B与A相关联,根据A可以确定B。根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。A与B的匹配,是A与B的相似度大于或等于预设的阈值。
取决于语境,如在此所使用的“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
如图1所示,为本发明提供的技术方案的使用场景示意图,包括图像处理设备以及OpenCV。图像处理设备包括图像采集装置、处理装置、函数管理插件、输入设备等等。图像采集装置能够进行图像的采集,处理装置能够根据相应的配置函数、协同函数以及镜像协同函数对图像进行处理得到图像结果。函数管理插件可以构建配置存储空间、协同存储空间。在管理员通过输入设备输入相应的配置函数后,函数管理插件可以将配置函数存储于相应的配置存储空间内。在处理装置调用OpenCV内的协同函数时,函数管理插件可以监测到相应的函数调用事件,可以对协同函数镜像处理后存储于协同存储空间内。处理装置可以是由CPU以及GPU组成。处理装置在进行图像处理时,首先会遍历配置存储空间和协同存储空间内存储的配置函数及镜像协同函数,如果存储空间和协同存储空间内存储的函数不能够满足图像处理需求,则向OpenCV请求调用相应的协同函数。
不同功能的函数会具有多种形式,以一个自动驾驶时对图像数据中红绿灯识别的函数举例。在对图像中红绿灯识别过程中,可以分解为3个步骤,包括:
步骤1、对图像数据中的RGB色彩空间转换为HSV色彩空间,此时所对应的步骤1的函数可以如下,
hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)#将图片RGB色彩空间转换为HSV色彩空间;
步骤2、对图像数据中的HSV色彩空间中感兴趣色彩进行提取,感兴趣色彩例如红色、黄色、绿色等等。以感兴趣色彩为红色为例,此时所对应的步骤2的函数可以如下,
low_hsv=np.array([0,43,46])
high_hsv=np.array([10,255,255])
mask=cv2.inRange(hsv,lowerb=low_hsv,upperb=high_hsv)#HSV红色范围。
其中,0至10为颜色为红色时H值的范围、43至255为颜色为红色时S值的范围、46至255为颜色为红色时V值的范围,通过以上方式,可以将所有位于[0,43,46]至[10,255,255]内的像素点作为0,[0,43,46]至[10,255,255]以外的像素点作为1对图像数据二值化处理,此时即红色的像素点作为0。
步骤3、对图像数据中的红色的范围所构成的形状进行检测,此时所对应的步骤3的函数可以如下,
Circles=cv.HoughCircles(image,method,dp,minDist[,circles[,param1[,param2[,minRadius[,maxRadius]]]]])。
需要说明的是,步骤1的函数是图像数据将RGB色彩空间转换为HSV色彩空间,所以步骤1的函数可以理解为纯功能性函数,即步骤1的函数仅存在一定的转换功能,同样的步骤3的函数为对圆形进行识别,其也可以理解为为纯功能性函数。但是步骤2的函数不仅实现对像素点的提取,还需要管理员输入相应的HSV的区间范围,则此时步骤2的函数具有像素点的筛选功能,筛选功能的基础是管理员主动录入相应的HSV信息。所以步骤2的函数需要管理员进行主动的配置。
在红绿灯实际的识别场景,例如需要对红灯、黄灯以及绿灯分别进行识别,则在实现红灯、黄灯以及绿灯分别识别的过程中,步骤1的函数和步骤3的函数可以在红灯、黄灯以及绿灯分别识别的过程中重复使用,但是步骤2的函数在识别场景发生变化后则需要得到不同的HSV区间。本发明提供的技术方案,能够根据函数的多样化采取不同的存储、管理方式,提高函数的调取、确定效率。
本发明提供一种基于OpenCV和插件的图像处理方法,通过以下步骤进行图像处理,如图2所示,包括:
步骤S110、函数管理插件接收用户配置的配置函数以及相对应的配置标签,对所述配置函数添加配置标签后存储于配置存储空间。在进行图像处理时,首先会根据图像采集装置进行图像的采集得到相应的图像数据,然后根据所需要对图像数据采集的信息调取相应的函数对图像进行处理。对图像处理的函数都是预先选定好的。本发明提供的技术方案,会通过函数管理插件接收用户配置的配置函数,该配置函数即是在未来的图像处理时所需要调取的函数,此时用户还会对其添加相应的配置标签,本发明会将用户配置的配置函数统一存储于配置存储空间内。配置函数可以是本发明所示例的步骤2中的函数。
本发明提供的技术方案,在一个可能的实施方式中,如图3所示,步骤S110具体包括:
步骤S1101、确定每个配置函数中的配置函数信息以及配置参数信息,所述配置函数信息为配置函数中的配置函数代码段,所述配置参数信息为配置函数中的配置参数代码段。以步骤2中的函数为例,该配置函数由2部分组成,第1部分为配置函数信息、第二部分为配置参数信息。
关于步骤2中的函数所包括的配置函数信息可能包括:
low_hsv=np.array([-,-,-])
high_hsv=np.array([-,-,-])
mask=cv2.inRange(hsv,lowerb=low_hsv,upperb=high_hsv)#-。
关于步骤2中的函数所包括的配置参数信息可能包括:
-([0,43,46])
-([10,255,255])
-HSV红色范围。
关于配置函数信息以及配置参数信息的以上分配方式仅仅是示例,需要说明的意思是将配置函数中不可以变化、固定的代码段作为配置函数信息、配置函数代码段,将配置函数中可以变化、不固定的代码段作为配置参数信息、配置参数代码段。
步骤S1102、将所述配置存储空间分为配置函数子单元和配置参数子单元,每个配置函数子单元至少对应一个配置参数子单元。本发明提供的技术方案,会首先对存储空间进行分区处理得到多个子单元,使得每个子单元会根据其不同的类型存储不同的数据。
步骤S1103、确定多个具有相同配置函数信息的配置函数,将相同的配置函数信息的配置函数代码段存储于同一个配置函数子单元,将每个配置参数信息的配置参数代码段分别存储于不同的配置参数子单元。
步骤S1104、对每个配置函数所对应的配置函数子单元、配置参数子单元进行统计得到配置函数路径表。由于本发明会对划分多个配置函数子单元、配置参数子单元,所以本发明需要得到一个函数路径表,通过该函数路径表确定、调取所需要的配置函数子单元、配置参数子单元内所存储的代码,根据相应的代码进行图像数据的处理。
通过步骤S1101步骤S1104,可以对步骤2中的函数的结构进行分布式的存储,使得不同的存储单元存储不同的代码部分,实现步骤2中的函数分布存储的目的和效果,为得到树状的配置函数调取路径做准备。
本发明提供的技术方案,在一个可能的实施方式中,步骤S1104具体包括:
统计每个配置函数子单元所对应标记得到一维配置标签,统计每个配置参数子单元所对应的标记得到二维配置标签。本发明提供的技术方案,在将配置存储空间划分为多个配置函数子单元、配置参数子单元时,会对每个配置函数子单元、配置参数子单元进行身份标记,配置函数子单元的身份标记例如A1、A2、A3。配置参数子单元的身份标记例如B1、B2、B3等等。
提取每个配置函数所对应的配置函数子单元所对应的一维配置标签、配置参数子单元所对应的二维配置标签,根据一维配置标签和二维配置标签生成配置函数调取路径。本发明提供的技术方案,一维配置标签与配置函数子单元的标记相对应,例如一维配置标签为1- A1。二维配置标签与配置参数子单元的标记相对应,例如二维配置标签为2- B1。函数调取路径即可以是将一维配置标签和二维配置标签进行组合,函数调取路径可以是1-A1#2- B1。
将配置标签与所述配置函数调取路径关联,以使图像处理设备根据所述配置标签调取所述配置函数调取路径。本发明提供的技术方案,会将配置标签与所述配置函数调取路径关联,每个配置函数会具有与其对应的配置标签,本发明在得到配置函数调取路径后使其与相应的配置标签对应,则调取该配置标签所对应的配置函数时,可以直接根据相对应的函数调取路径进行代码的调取、拼装形成所需要的配置函数。
对所有的函数调取路径去重处理后生成树状图结构的配置函数路径表。在配置函数中,可能会存在多个具有相同配置函数信息、不同配置参数信息的配置函数,对于具有多个相同配置函数信息的不同的配置函数,本发明会对函数调取路径进行去重处理得到树状图结构的配置函数路径表。
如表1所示,为去重处理前、分散的函数调取路所构成的配置函数路径表中的部分。此时每个函数会对应1个配置函数子单元、1个配置参数子单元。此时配置函数子单元的数量为9个。
如下表1所示为去重处理前的配置函数路径表。
配置函数 | 配置函数子单元 | 配置参数子单元 | 函数调取路径 |
配置函数1 | A1 | B1 | A1#B1 |
配置函数2 | A1 | B2 | A1#B2 |
配置函数3 | A3 | B8 | A3#B8 |
配置函数4 | A4 | B9 | A4#B9 |
配置函数5 | A2 | B5 | A2#B5 |
配置函数6 | A2 | B6 | A2#B6 |
配置函数7 | A2 | B7 | A2#B7 |
配置函数8 | A1 | B3 | A1#B3 |
配置函数9 | A1 | B4 | A1#B4 |
如表2所示,为去重处理后、分散的函数调取路所构成的配置函数路径表中的部分。此时多个函数会对应1个配置函数子单元、多个配置参数子单元。此时配置函数子单元的数量为4个。
如下表2所示为去重处理后的配置函数路径表。
配置函数 | 配置函数子单元 | 配置参数子单元 | 函数调取路径 |
配置函数1 | A1 | B1 | A1#B1 |
配置函数2 | A1 | B2 | A1#B2 |
配置函数3 | A1 | B3 | A1#B3 |
配置函数4 | A1 | B4 | A1#B4 |
配置函数5 | A2 | B5 | A2#B5 |
配置函数6 | A2 | B6 | A2#B6 |
配置函数7 | A2 | B7 | A2#B7 |
配置函数8 | A3 | B8 | A3#B8 |
配置函数9 | A4 | B9 | A4#B9 |
本发明提供的技术方案,在一个可能的实施方式中,在对所有的函数调取路径去重处理后生成与所述树状图结构的配置函数路径表的步骤中,具体包括:
获取具有相同配置函数信息的函数调取路径,将相同配置函数信息所存储的配置函数子单元所对应的一维配置标签作为根节点。如表1中的所有函数调取路径,此时的函数调取路径都是分散的,本发明首先要对分散的函数调取路径进行归类,得到具有相同的相同配置函数信息所存储的配置函数子单元所对应的一维配置标签作为根节点。通过以上步骤,本发明可以根据相同配置函数子单元的存在数量确定某些一维配置标签作为根节点。
获取具有相同配置函数信息的函数调取路径中每个配置参数子单元所对应的标记得到二维配置标签,将二维配置标签作为子节点。通过以上步骤,本发明将具有相同的配置函数信息的配置参数子单元的二维配置标签作为子节点。此时以配置函数子单元作为根节点、配置参数子单元作为子节点的结构即可搭建完成,如图4、5、6以及7所示,为根据表2所得到的树状图。
对所有相同的根节点所对应的一维配置标签去重处理,将一个一维配置标签的根节点分别与相应的二维配置标签的子节点连接生成树状结构的函数调取路径及配置函数路径表。如表2所示,为去重后的配置函数路径表。
本发明提供的技术方案,在一个可能的实施方式中,还包括:
获取每个一维配置标签在预设时间段内被调取的调取次数,以及每个一维配置标签作为根节点所对应的子节点的数量。在函数的调取、使用场景中,不同的函数的的热度、调取次数都是不同的,所以本发明会对一维配置标签在预设时间段内被调取的调取次数、根节点所对应的子节点的数量进行统计。一维配置标签调取的次数越多,则相对应的树状结构的函数调取路径被调取的概率就越大。并且,一维配置标签作为根节点所对应的子节点的数量越多,则相对应的树状结构的函数调取路径被调取的概率就越大。
根据每个一维配置标签在预设时间段的调取次数、所对应的子节点的数量生成所述一维配置标签所对应的树状结构的调取系数。本发明提供的技术方案,会根据一维配置标签在预设时间段的调取次数、子节点的数量进行计算,得到相应的树状结构的调取系数。
本发明提供的技术方案,在一个可能的实施方式中,步骤S110具体包括:
对所述预设时间段的调取次数进行加权、归一化处理得到第一评价信息值,对所述子节点的数量进行加权、归一化处理得到第二评价信息值。
根据所述第一评价信息值和第二评价信息值进行计算得到调取系数。
通过以下公式计算调取系数,
本发明提供的技术方案,首先会对调取次数进行加权、归一化处理得到第一评价信息值,通过可以得到第一评价信息值。然后对子节点的数量进行加权、归一化处理得到第二评价信息值,通过可以得到第二评价信息值。本发明会融合第一评价信息值和第二评价信息值进行计算,得到最终的调取系数。在计算调取系数时,本发明会根据第一评价信息值和第二评价信息值对预设系数进行偏移计算,然后通过系数修正权重值对偏移计算后的数值进行修正处理得到最终的调取系数。
对所述调取系数进行降序排序得到标签排序结果,根据所述标签排序结果对所有树状结构的函数调取路径排序得到配置函数路径表。在得到所有树状结构的组合模式的函数调取路径后,本发明会根据调取系数对函数调取路径排序进行降序的排序,得到最终的配置函数路径表。当在需要调取某个配置函数时,本发明提供的技术方案会按照配置函数路径表的排序依次遍历每个配置函数路径,进而快速定位、调取到相应的配置函数,提高了配置函数定位、调取的速度。
步骤S120、函数管理插件判断图像处理设备和OpenCV的接口处调用协同函数时,则对所调用的协同函数镜像处理得到镜像协同函数,对所述镜像协同函数添加协同标签后存储于协同存储空间。在实际的图像数据处理过程中,会存在管理员主动配置相应的配置函数的情况,也会存在需要调取OpenCV内函数的情况,所以本发明提供的技术方案,会对图像处理设备和OpenCV的接口进行监测,在判断图像处理设备和OpenCV的接口处调用协同函数时,则认为此时该协同函数适用于相应图像处理设备的图像数据处理的场景。此时本发明会对相应的协同函数镜像处理得到镜像协同函数,对协同函数添加协同标签后存储于协同存储空间,以方便后续的函数调取。
本发明提供的技术方案,在一个可能的实施方式中,步骤S120具体包括:
函数管理插件根据钩子函数对图像处理设备和OpenCV的接口进行监测,触发钩子函数的事件为接口调用函数。在对图像处理设备和OpenCV的接口进行监测时,本发明会通过钩子函数HOOK住相应的接口。
在钩子函数被触发后,函数管理插件获取图像处理设备和OpenCV的接口所调用的协同函数。本发明可以将图像处理设备和OpenCV之间调用函数、传输协同函数作为触发事件,钩子函数被触发后,则函数管理插件能够得到图像处理设备和OpenCV的接口所调用的协同函数。
对所获取的协同函数进行镜像处理得到镜像协同函数。本发明提供的技术方案,会对所得到的协同函数进行镜像处理得到镜像协同函数,该种方式实现对协同函数的保存。
将所述协同存储空间分为多个协同存储单元,将所述镜像协同函数所对应的代码存储于协同存储单元内并生成相对应的协同函数调取路径。在得到镜像协同函数后,本发明会将该镜像协同函数存储于相应的协同存储单元内,并得到相对应的协同函数调取路径,通过协同函数调取路径能够调取相应的镜像协同函数进行图像处理。需要说明的是,由OpenCV内调取的协同函数可以是步骤1和步骤3所说的函数,步骤1和步骤3的函数不需要管理员配置相应的参数信息,可以直接使用,进而减少管理员的工作内容,实现处理函数的快速确定、搭建。
本发明提供的技术方案,在一个可能的实施方式中,具体包括:
统计每个协同存储单元所对应的标记得到一维协同标签。在对镜像协同函数进行存储时,本发明只对协同存储单元进行一种类别、一种维度的划分,即得到每个协同存储单元所对应的标记得到一维协同标签。一维协同标签可以是C1、C2以及C3等等。
根据一维协同标签生成协同函数调取路径,将协同标签与所述协同函数调取路径关联,以使图像处理设备根据所述协同标签确定所述协同函数调取路径。本发明提供的技术方案,会根据一维协同标签生成协同函数调取路径,此时的协同函数调取路径可以是C1。
步骤S130、函数管理插件根据不同的图像识别场景中所调取的配置函数和镜像协同函数的调取行为进行记录得到函数记录信息,根据所述函数记录信息生成与图像识别场景对应的标签集合,所述标签集合包括配置标签和/或协同标签。本发明提供的技术方案,会根据不同的图像识别场景中所调取的配置函数和镜像协同函数进行记录,例如在汽车的使用过程中,会包括至少两个场景,一个正常、汽车前进时的自动驾驶场景,一个是在到达目的后的自动泊车场景,在进行自动驾驶、自动泊车时所对应的场景是存不同的,所以此时所需要提取图像数据中的信息也是不同的,所以此时需要通过不同的函数对图像数据进行处理。基于此,本发明中的函数管理插件会根据调取行为进行记录,生成相应的标记集合,通过标记集合可以快速的定位、确认到在当前图像数据处理场景中所需要的函数。
步骤S140、图像处理设备根据所接收到的触发信息确定图像识别场景,根据所述图像识别场景所对应的标签集合得到配置函数和/或镜像协同函数,对根据配置函数和/或镜像协同函数进行图像处理得到图像结果。本发明提供的技术方案,在确定到相应的图像识别场景后,可以根据标签集合得到配置函数和/或镜像协同函数,进行图像处理。
需要说明的是,图像识别场景可以是使用者主动触发的,在前进、自动驾驶的过程中,此时车辆的档位在前进挡(D档),可以认为前进挡(D档)即是触发前进、自动驾驶的图像识别场景的触发信息、触发事件。同理的,在自动泊车时,车辆具有自动泊车键,此时用户触发自动泊车键,即是触发自动泊车的图像识别场景的触发信息、触发事件。本发明在得到相应图像识别场景后,会确定相应的标签集合,根据标签集合调用相应的配置函数和/或镜像协同函数进行图像处理。
为了实现本发明所提供的一种基于OpenCV和插件的图像处理方法,本发明还提供一种基于OpenCV和插件的图像处理装置,在图像处理设备处设置函数管理插件,所述函数管理插件用于对OpenCV和图像处理设备的接口进行监测,通过以下模块进行图像处理,如图8所示,包括:
函数配置存储模块,用于使函数管理插件接收用户配置的配置函数以及相对应的配置标签,对所述配置函数添加配置标签后存储于配置存储空间;
函数调用存储模块,用于使函数管理插件判断图像处理设备和OpenCV的接口处调用协同函数时,则对所调用的协同函数镜像处理得到镜像协同函数,对所述镜像协同函数添加协同标签后存储于协同存储空间;
集合生成模块,用于使函数管理插件根据不同的图像识别场景中所调取的配置函数和镜像协同函数的调取行为进行记录得到函数记录信息,根据所述函数记录信息生成与图像识别场景对应的标签集合,所述标签集合包括配置标签和/或协同标签;
图像处理模块,用于使图像处理设备根据所接收到的触发信息确定图像识别场景,根据所述图像识别场景所对应的标签集合得到配置函数和/或镜像协同函数,对根据配置函数和/或镜像协同函数进行图像处理得到图像结果。
本发明还提供一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现上述的各种实施方式提供的方法。
其中,存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。存储介质可以是只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在存储介质中。设备的至少一个处理器可以从存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。
在上述终端或者服务器的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.一种 基于OpenCV和插件的图像处理方法,其特征在于,在图像处理设备处设置函数管理插件,所述函数管理插件用于对OpenCV和图像处理设备的接口进行监测,通过以下步骤进行图像处理,包括:
函数管理插件接收用户配置的配置函数以及相对应的配置标签,对所述配置函数添加配置标签后存储于配置存储空间;
函数管理插件判断图像处理设备和OpenCV的接口处调用协同函数时,则对所调用的协同函数镜像处理得到镜像协同函数,对所述镜像协同函数添加协同标签后存储于协同存储空间;
函数管理插件根据不同的图像识别场景中所调取的配置函数和镜像协同函数的调取行为进行记录得到函数记录信息,根据所述函数记录信息生成与图像识别场景对应的标签集合,所述标签集合包括配置标签和/或协同标签;
图像处理设备根据所接收到的触发信息确定图像识别场景,根据所述图像识别场景所对应的标签集合得到配置函数和/或镜像协同函数,根据配置函数和/或镜像协同函数进行图像处理得到图像结果。
2.根据权利要求1所述的基于OpenCV和插件的图像处理方法,其特征在于,
在函数管理插件接收用户配置的配置函数以及相对应的配置标签,对所述配置函数添加配置标签后存储于配置存储空间的步骤中,具体包括:
确定每个配置函数中的配置函数信息以及配置参数信息,所述配置函数信息为配置函数中的配置函数代码段,所述配置参数信息为配置函数中的配置参数代码段;
将所述配置存储空间分为配置函数子单元和配置参数子单元,每个配置函数子单元至少对应一个配置参数子单元;
确定多个具有相同配置函数信息的配置函数,将相同的配置函数信息的配置函数代码段存储于同一个配置函数子单元,将每个配置参数信息的配置参数代码段分别存储于不同的配置参数子单元;
对每个配置函数所对应的配置函数子单元、配置参数子单元进行统计得到配置函数路径表。
3.根据权利要求2所述的基于OpenCV和插件的图像处理方法,其特征在于,
在对每个配置函数所对应的配置函数子单元、配置参数子单元进行统计得到配置函数路径表的步骤中,具体包括:
统计每个配置函数子单元所对应标记得到一维配置标签,统计每个配置参数子单元所对应的标记得到二维配置标签;
提取每个配置函数所对应的配置函数子单元所对应的一维配置标签、配置参数子单元所对应的二维配置标签,根据一维配置标签和二维配置标签生成配置函数调取路径;
将配置标签与所述配置函数调取路径关联,以使图像处理设备根据所述配置标签调取所述配置函数调取路径;
对所有的函数调取路径去重处理后生成树状图结构的配置函数路径表。
4.根据权利要求3所述的基于OpenCV和插件的图像处理方法,其特征在于,
在对所有的函数调取路径去重处理后生成与所述树状图结构的配置函数路径表的步骤中,具体包括:
获取具有相同配置函数信息的函数调取路径,将相同配置函数信息所存储的配置函数子单元所对应的一维配置标签作为根节点;
获取具有相同配置函数信息的函数调取路径中每个配置参数子单元所对应的标记得到二维配置标签,将二维配置标签作为子节点;
对所有相同的根节点所对应的一维配置标签去重处理,将一个一维配置标签的根节点分别与相应的二维配置标签的子节点连接生成树状结构的函数调取路径及配置函数路径表。
5.根据权利要求4所述的基于OpenCV和插件的图像处理方法,其特征在于,还包括:
获取每个一维配置标签在预设时间段内被调取的调取次数,以及每个一维配置标签作为根节点所对应的子节点的数量;
根据每个一维配置标签在预设时间段的调取次数、所对应的子节点的数量生成所述一维配置标签所对应的树状结构的调取系数;
对所述调取系数进行降序排序得到标签排序结果,根据所述标签排序结果对所有树状结构的函数调取路径排序得到配置函数路径表。
7.根据权利要求1所述的基于OpenCV和插件的图像处理方法,其特征在于,
在函数管理插件判断图像处理设备和OpenCV的接口处调用协同函数时,则对所调用的协同函数镜像处理得到镜像协同函数,对所述镜像协同函数添加协同标签后存储于协同存储空间的步骤中,具体包括:
函数管理插件根据钩子函数对图像处理设备和OpenCV的接口进行监测,触发钩子函数的事件为接口调用函数;
在钩子函数被触发后,函数管理插件获取图像处理设备和OpenCV的接口所调用的协同函数;
对所获取的协同函数进行镜像处理得到镜像协同函数;
将所述协同存储空间分为多个协同存储单元,将所述镜像协同函数所对应的代码存储于协同存储单元内并生成相对应的协同函数调取路径。
8.根据权利要求7所述的基于OpenCV和插件的图像处理方法,其特征在于,
在将所述协同存储空间分为多个协同存储单元,将所述镜像协同函数所对应的代码存储于协同存储单元内并生成相对应的协同函数调取路径的步骤中,具体包括:
统计每个协同存储单元所对应的标记得到一维协同标签;
根据一维协同标签生成协同函数调取路径,将协同标签与所述协同函数调取路径关联,以使图像处理设备根据所述协同标签确定所述协同函数调取路径。
9.一种 基于OpenCV和插件的图像处理装置,其特征在于,在图像处理设备处设置函数管理插件,所述函数管理插件用于对OpenCV和图像处理设备的接口进行监测,通过以下模块进行图像处理,包括:
函数配置存储模块,用于使函数管理插件接收用户配置的配置函数以及相对应的配置标签,对所述配置函数添加配置标签后存储于配置存储空间;
函数调用存储模块,用于使函数管理插件判断图像处理设备和OpenCV的接口处调用协同函数时,则对所调用的协同函数镜像处理得到镜像协同函数,对所述镜像协同函数添加协同标签后存储于协同存储空间;
集合生成模块,用于使函数管理插件根据不同的图像识别场景中所调取的配置函数和镜像协同函数的调取行为进行记录得到函数记录信息,根据所述函数记录信息生成与图像识别场景对应的标签集合,所述标签集合包括配置标签和/或协同标签;
图像处理模块,用于使图像处理设备根据所接收到的触发信息确定图像识别场景,根据所述图像识别场景所对应的标签集合得到配置函数和/或镜像协同函数,根据配置函数和/或镜像协同函数进行图像处理得到图像结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210672438.9A CN114756214B (zh) | 2022-06-15 | 2022-06-15 | 基于OpenCV和插件的图像处理方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210672438.9A CN114756214B (zh) | 2022-06-15 | 2022-06-15 | 基于OpenCV和插件的图像处理方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114756214A CN114756214A (zh) | 2022-07-15 |
CN114756214B true CN114756214B (zh) | 2022-08-12 |
Family
ID=82336956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210672438.9A Active CN114756214B (zh) | 2022-06-15 | 2022-06-15 | 基于OpenCV和插件的图像处理方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114756214B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2020102039A4 (en) * | 2020-08-28 | 2020-10-08 | Peng, Yue Miss | A high-precision multi-targets visual detection method in automatic driving scene |
CN114461271A (zh) * | 2022-04-12 | 2022-05-10 | 梯度云科技(北京)有限公司 | 一种节省存储空间的容器镜像打包方法及装置 |
CN114546231A (zh) * | 2022-02-24 | 2022-05-27 | 特赞(上海)信息科技有限公司 | 基于浏览器插件的图像数据收集方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11386328B2 (en) * | 2018-05-30 | 2022-07-12 | Robert Bosch Gmbh | Method, apparatus and computer program for generating robust automated learning systems and testing trained automated learning systems |
-
2022
- 2022-06-15 CN CN202210672438.9A patent/CN114756214B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2020102039A4 (en) * | 2020-08-28 | 2020-10-08 | Peng, Yue Miss | A high-precision multi-targets visual detection method in automatic driving scene |
CN114546231A (zh) * | 2022-02-24 | 2022-05-27 | 特赞(上海)信息科技有限公司 | 基于浏览器插件的图像数据收集方法、装置及存储介质 |
CN114461271A (zh) * | 2022-04-12 | 2022-05-10 | 梯度云科技(北京)有限公司 | 一种节省存储空间的容器镜像打包方法及装置 |
Non-Patent Citations (2)
Title |
---|
5分钟Serverless实践|构建无服务器的图片分类;勤劳的星星;《https://bbs.huaweicloud.com/blogs/105680》;20180914;正文第1页至第13页 * |
基于Copula函数的风电时序联合出力典型场景生成;汤向华等;《电力工程技术》;20200928(第05期);第152页至第159页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114756214A (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022105243A1 (zh) | 事件检测方法、装置、电子设备及存储介质 | |
US9098775B2 (en) | Multi-class identifier, method, and computer-readable recording medium | |
CN110235138A (zh) | 用于外观搜索的系统和方法 | |
CN108694399B (zh) | 车牌识别方法、装置及系统 | |
US8831357B2 (en) | System and method for image and video search, indexing and object classification | |
CN112614187A (zh) | 回环检测方法、装置、终端设备和可读存储介质 | |
CN112487886A (zh) | 一种有遮挡的人脸识别方法、装置、存储介质及终端 | |
Razalli et al. | Emergency vehicle recognition and classification method using HSV color segmentation | |
CN112818149A (zh) | 一种基于时空轨迹数据的人脸聚类方法、装置及存储介质 | |
CN110633289A (zh) | 一种车牌号确定方法、服务器及停车管理系统 | |
CN111291646A (zh) | 一种人流量统计方法、装置、设备及存储介质 | |
CN110751191A (zh) | 一种图像的分类方法及系统 | |
CN115082834B (zh) | 一种基于深度学习工程车冒黑烟监测方法及系统 | |
CN113723157A (zh) | 一种农作物病害识别方法、装置、电子设备及存储介质 | |
WO2023272991A1 (zh) | 一种数据处理方法、装置、计算机设备和存储介质 | |
CN114756214B (zh) | 基于OpenCV和插件的图像处理方法、装置 | |
CN107292284B (zh) | 目标重检测方法、装置及无人机 | |
CN112257628A (zh) | 一种户外比赛运动员的身份识别方法、装置及设备 | |
CN109919164B (zh) | 用户界面对象的识别方法及装置 | |
CN115147633A (zh) | 图像聚类方法、装置、设备及存储介质 | |
CN112613396B (zh) | 一种任务紧急程度处理方法及系统 | |
CN116246298A (zh) | 一种空间占用人数统计方法、终端设备及存储介质 | |
CN112597924B (zh) | 电动自行车轨迹追踪方法、摄像机装置和服务器 | |
CN113255766A (zh) | 一种图像分类方法、装置、设备和存储介质 | |
CN112100427A (zh) | 视频处理方法、装置、电子设备及存储介质 |
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 |