掌桥专利:专业的专利平台
掌桥专利
首页

极值点提取方法、设备及计算机可读存储介质

文献发布时间:2023-06-19 09:29:07


极值点提取方法、设备及计算机可读存储介质

技术领域

本发明实施例涉及数据处理领域,尤其涉及一种极值点提取方法、设备及计算机可读存储介质。

背景技术

为了实现对极值点的识别,现有技术中一般都会在待识别数据块中建立至少一个窗口,每个窗口中包括预设数量的像素点。针对每一个窗口,采用冒泡或者快速排序等算法对该窗口内的全部像素信息进行排序,获取像素值最大/最小的像素点作为极值点。

但是,通过冒泡法或者快速排序等算法所需要的比较周期较多,会大大浪费硬件内部的资源。

发明内容

本发明实施例提供一种极值点提取方法、设备及计算机可读存储介质,以解决现有的极值点识别方法较为耗费硬件资源且极值点识别效率低的技术问题。

本发明实施例的第一方面是提供一种极值点提取方法,包括:

获取待处理窗口的至少一列数据;

将所述列数据中的每一数据和其他数据进行比较,生成比较结果,根据每一数据的比较结果确定所述列数据的极值;

根据所述待处理窗口中每一列数据的极值,获取所述待处理窗口的极值。

本发明实施例的第二方面是提供一种极值点提取设备,包括:存储器和处理器;

所述存储器用于存储程序代码;

所述处理器,调用所述程序代码,当程序代码被执行时,用于执行以下操作:

获取待处理窗口的至少一列数据;

将所述列数据中的每一数据和其他数据进行比较生成比较结果,根据每一数据的比较结果确定所述列数据的极值;

根据所述待处理窗口中每一列数据的极值,获取所述待处理窗口的极值。

本发明实施例的第三方面是提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面所述的方法。

本发明实施例的第四方面是提供一种图像处理方法,包括:

获取待处理图像的待处理窗口的至少一列像素值;

将所述列像素值中的每一像素值和其他像素值进行比较,生成比较结果,根据每一像素值的比较结果确定所述列像素值的极值;

根据所述待处理窗口中每一列像素值的极值,获取所述待处理窗口的极值,以所述待处理窗口的极值所在的位置作为所述待处理图像的噪点或坏点。

本发明实施例的第五方面是提供一种图像处理装置,包括:存储器和处理器;

所述存储器用于存储程序代码;

所述处理器,调用所述程序代码,当程序代码被执行时,用于执行第四方面所述的图像处理方法。

本发明实施例的第六方面是提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第四方面所述的方法。

本发明实施例的第七方面是提供一种可移动平台,包括:

机体;

动力系统,设于所述机体内,用于为所述可移动平台提供动力;

图像采集装置,用于采集图像;以及

如第五方面所述的图像处理装置,用于对所述图像进行处理。

本发明实施例的第八方面是提供一种相机,包括:

外壳;

镜头组件,设于所述外壳内部;

传感器模块,设于所述外壳内部并设于所述镜头组件的后端,用于感知通过所述镜头组件的光并生成电信号;以及

如第五方面所述的图像处理装置,用于对所述电信号进行处理。

本实施例提供的极值点提取方法、设备及计算机可读存储介质,通过获取待处理窗口中的至少一列数据,针对每一列数据,将该列数据中的每一数据与其他数据进行比较,确定该列数据中的极大值,根据待处理窗口中每一列数据的极值,获取待处理窗口的极值。从而无需对待处理窗口中的每一数据进行排序,根据排序结果确定待处理窗口中的极值,进而能够有效地降低硬件资源的消耗,提高极值点获取的效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一提供的极值点提取方法的流程示意图;

图2为本发明实施例提供的待处理窗口遍历示意图;

图3为本发明实施例提供的初始窗口示意图;

图4为本发明实施例提供的最后一列数据确定示意图;

图5为本发明实施例二提供的极值点提取方法的流程示意图;

图6为本发明实施例三提供的极值点提取方法的流程示意图;

图7为本发明实施例提供的先入先出队列示意图;

图8为本发明实施例四提供的极值点提取设备的结构示意图;

图9为本发明实施例五提供的图像处理方法的流程示意图;

图10为本发明实施例六提供的图像处理装置的结构示意图;

图11为本发明实施例七提供的可移动平台的结构示意图。

附图标记:

71:可移动平台; 72:机体; 73:动力系统;

74:图像采集装置; 75:图像处理装置。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

为了解决现有的极值点识别方法较为耗费硬件资源且极值点识别效率低的技术问题,本发明提供了一种极值点提取方法、设备及计算机可读存储介质。

需要说明的是,本发明提供的极值点提取方法、设备及计算机可读存储介质能够应用在对任意一种数据的极值获取场景中。

图1为本发明实施例一提供的极值点提取方法的流程示意图,如图1所示,所述方法包括:

步骤101、获取待处理窗口的至少一列数据。

本实施例的执行主体为极值点提取设备。每一待处理窗口中具有多个数据,多个数据分布为至少一列列数据。需要说明的是,针对不同的待处理窗口类型,待处理窗口中的数据可以具有不同的含义,例如,当待处理窗口为图像中的一个窗口时,该数据具体可以为像素值,相应地,该待处理窗口中的极值点则可以为影响图像质量的噪点或坏点。为了实现对待处理窗口极值点的快速获取,首先可以获取待处理窗口中至少一列数据。

具体地,在上述任一实施例的基础上,步骤101具体包括:

对所述待处理窗口进行行缓存操作,获得至少一列列数据。

在本实施例中,为了实现待处理窗口中列数据的获取,可以对待处理窗口进行行缓存操作,获得与该待处理窗口对应的列数据。

步骤102、将所述列数据中的每一数据和其他数据进行比较,生成比较结果,根据每一数据的比较结果确定所述列数据的极值。

在本实施方式中,为了确定待处理窗口对应的极值,首先可以确定各列数据对应的极值。具体地,每一列数据中均包括至少一个数据,针对每一列数据,可以分别将每个数据与其他数据进行比较,获得比较结果,根据比较结果确定该列数据对应的极值。具体地,可以根据该比较结果对各数据进行标注。针对列数据中的每一数据,可以将该数据分别与列数据中的其他各数据依次进行比较,获得多个比较结果,根据各比较结果对该数据进行标注,从而根据列数据中各数据的标注数量,能够确定列数据中的极值。例如,若该数据大于其他数据,则可以通过Flag1对数据进行标注,若该数据小于其他数据,则可以通过Flag2对数据进行标注,因此,可以将Flag1数量最多的数据作为极大值,将Flag2数量最多的数据作为极小值,从而快速地实现对列数据中极值的确定。需要说明的是,上述两种标注方式可以结合实施,也可以单独实施,当其单独实施时,以通过Flag1对较大数据进行标注举例来说,针对一列数据,可以将Flag1数量最多的数据作为该列数据的极大值,并将Flag1数量最少的数据作为该列数据的极小值;相应地,以通过Flag2对较小数据进行标注举例来说,可以将Flag2数量最多的数据作为该列数据的极小值,并将Flag1数量最少的数据作为该列数据的极大值。

步骤103、根据所述待处理窗口中每一列数据的极值,获取所述待处理窗口的极值。

在本实施方式中,确定每一列数据的极值之后,可以根据待处理窗口中每一列数据的极值,确定待处理窗口的极值。具体地,可以将待处理窗口中各列数据的极值分别于其他列数据的极值进行比较,获得比较结果,根据该比较结果确定待处理窗口的极值。具体地,可以根据比较结果对各列数据的极值进行标注,根据标注结果确定待处理窗口对应的极值。针对待处理窗口中各列数据的极值,可以将该极值分别与列数据中的其他各极值依次进行比较,获得多个比较结果,根据各比较结果对该极值进行标注,从而根据待处理窗口中各列数据的极值的标注数量,能够确定待处理窗口中的极值。

区别于现有技术中对待处理窗口中全部数据进行排序以确定待处理窗口极值的方法,由于每一列数据中数据量较少,因此,针对每一列数据,根据每一数据的比较结果确定列数据的极值,根据待处理窗口中每一列数据的极值确定待处理窗口的极值,能够有效提高极值点确定的效率,且能够节约硬件资源。

本实施例提供的极值点提取方法,通过获取待处理窗口中的至少一列数据,针对每一列数据,将该列数据中的每一数据与其他数据进行比较,确定该列数据中的极大值,根据待处理窗口中每一列数据的极值,获取待处理窗口的极值。从而无需对待处理窗口中的每一数据进行排序,根据排序结果确定待处理窗口中的极值,进而能够有效地降低硬件资源的消耗,提高极值点获取的效率。

进一步地,图2为本发明实施例提供的待处理窗口遍历示意图,在上述任一实施例的基础上,步骤101之前,还包括:

通过预设的固定窗口按照预设的顺序依次遍历待处理数据块中的数据,获得至少一个待处理窗口。

在本实施例中,在确定待处理矩阵的极值之前,首先需要获取待处理窗口。具体地,可以预设一个固定窗口,该固定窗口可以为N*N的窗口,通过该固定窗口按照预设的顺序依次遍历待处理数据块中的数据,获得至少一个待处理窗口。举例来说,可以通过该固定窗口对待处理数据块中的数据按照从左到右的顺序,依次遍历待处理数据块中的数据,获得至少一个待处理窗口。如图2所示,该预设的固定窗口可以为5*5的窗口,该固定窗口可以以待处理数据块中第一行第一列的数据“56”为起点,按照从左到右的顺序,依次遍历待处理数据块中的数据,得到至少一个待处理窗口。

本实施例提供的极值点提取方法,通过预设一个固定窗口,根据该固定窗口按照预设的顺序依次遍历待处理数据块中的数据,从而能够完整的获取到待处理数据块中的全部待处理窗口,进而能够获取各窗口的极值,实现对待处理数据块极值的获取。

具体地,图3为本发明实施例提供的初始窗口示意图,在上述任一实施例的基础上,步骤101具体包括:

若所述待处理窗口为初始窗口,则获取所述初始窗口中每一列数据,所述初始窗口为所述固定窗口按照预设的顺序遍历的第一个待处理窗口。

在本实施例中,初始窗口即为固定窗口按照预设的顺序遍历获得的第一个待处理窗口,当极值点提取设备在对初始窗口进行极值点确定过程中,由于该初始窗口为极值点提取设备处理的第一个窗口。如图3所示,固定窗口可以以待处理数据块中的第一行第一列数据“56”开始遍历,以“56”作为左上角顶点的待处理窗口即为初始窗口。为了实现对初始窗口极值点的确定,需要获取该初始窗口中的每一列数据,确定各列数据对应的极值点,并根据各列数据对应的极值点,确定初始窗口对应的极值点。

本实施例提供的极值点提取方法,通过在当前处理的待处理窗口为初始窗口时,获取该初始窗口中的每一列数据,从而能够实现对初始窗口对应的极值点的精准获取。

可选地,图4为本发明实施例提供的最后一列数据确定示意图,在上述任一实施例的基础上,步骤101具体包括:

若所述待处理窗口非初始窗口,则获取所述待处理窗口中最后一列数据。

在本实施例中,为了进一步地节约硬件资源,针对已经计算过极值点的列数据,可以不再对其进行极值点的计算。图4为相邻两个待处理窗口,如图4所示,两个待处理窗口除最后一行,中间部分均重合,故为了节省硬件资源,可以只提取最后一列数据进行极值的确定。因此,若检测到极值点提取设备当前处理的待处理窗口不是初始窗口,其中,初始窗口即为固定窗口按照预设的顺序遍历获得的第一个待处理窗口。则可以获取待处理窗口中的最后一列数据。需要说明的是,由于待处理窗口是固定窗口按照预设的顺序依次遍历待处理数据块中的数据获得的,因此,以当前处理的待处理窗口为固定窗口遍历获得的第二个待处理窗口,每一待处理窗口具有5列数据举例来说,第二个待处理窗口中的前四列数据与初始窗口中的后四列数据重合,由于初始窗口中的5列数据均已确定了极值点,为了节约硬件资源,可以不再对重合的四列数据进行极值点的确定,只需获取第二待处理窗口中的最后一列数据即可。由于现有技术中针对每一待处理窗口,均对该待处理窗口中的全部数据进行排序,根据排序结果确定待处理窗口对应的极值,较为耗费硬件资源,且极值确定效率较慢。而本实施例提供的方法,通过当待处理窗口非初始窗口时,仅对最后一列数据进行极值的计算,并根据与上一窗口的重复列的极值,获取当前窗口内的极值,即对于当前窗口来说,只需2个cycle即可获得极值,且前后窗口内重复的像素不需要再重新排序和提取极值,能够有效地减小硬件资源的占用。

本实施例提供的极值点提取方法,通过在当前处理的待处理窗口非初始窗口时,仅获取待处理窗口中的最后一列数据,从而能够在实现极值点的精准获取的基础上,进一步地节约硬件资源。

图5为本发明实施例二提供的极值点提取方法的流程示意图,在上述任一实施例的基础上,如图5所示,步骤102具体包括:

步骤201、将所述列数据中的每一数据分别与所述列数据中的其他数据进行比较,获得与各其他数据对应的比较结果;

步骤202、根据所述比较结果对所述列数据中的每一数据进行标注;

步骤203、根据每一数据标注的数量确定所述列数据的极值。

在本实施例中,为了确定待处理窗口对应的极值,首先可以确定各列数据对应的极值。具体地,可以将列数据中的每一数据分别于列数据中的其他数据进行比较,获取与各其他数据对应的比较结果。根据该比较结果对列数据中的各数据进行标注。需要说明的是,可以采用任意一种标注方式对数据进行标注,例如若数据大于其他数据,则将其标注为Flag1,若数据小于其他数据,则将其标注为Flag2,Flag1与Flag2不相同。进而可以根据每一个数据的标注数量确定列数据的极值。举例来说,若当前处理的待处理数据窗口如表1所示:

表1

以第一列数据举例来说,针对第一列中的每一数据,分别将该数据与其他四个数据进行比较,根据比较结果对各数据进行标注。若数据大于其他数据,则通过Flag1进行标注,得到23的Flag1标注数量为1个,54的Flag1标注数量为3个,24的Flag1标注数量为2个,61的Flag1标注数量为4个,15的Flag1标注数量为0个。因此,可以精准地根据标注数量确定第一列中的极值为61,极小值为15。可选地,若数据小于其他数据,可以通过Flag0进行标注,从而得到23的Flag0标注数量为3个,54的Flag0标注数量为1个,24的Flag0标注数量为2个,61的Flag0标注数量为0个,15的Flag0标注数量为4个。从而能够精准地根据标注数量确定第一列中的极大值为61,极小值为15。在一优选实施例中,Flagl采用1进行标注,Flag0采用0进行标注。

本实施例提供的极值点提取方法,通过将列数据中的每一数据分别与其他数据进行比较,根据比较结果进行标注,根据标注数量实现对列数据中极值点的获取。从而能够在实现极值点的精准获取的基础上,节约硬件资源。

具体地,在上述任一实施例的基础上,步骤202具体包括:

若所述数据大于其他数据,则对所述数据进行第一标注。

在本实施例中,将列数据中的每一数据分别于列数据中的其他数据进行比较,获取与各其他数据对应的比较结果。根据该比较结果对列数据中的各数据进行标注。具体地,若检测到该数据大于其他数据,则可以对该数据进行第一标注。承接上例来说,当数据大于其他数据时,则对其进行第一标注,进而能够确定数据23对应的第一标注数量为1个,数据54对应的第一标注数量为3个,数据24对应的第一标注数量为2个,数据61对应的第一标注数量为4个,数据15对应的第一标注数量为0个。

进一步地,在上述任一实施例的基础上,步骤203具体包括:

根据所述第一标注的数量确定所述列数据的极值。

在本实施例中,根据比较结果对数据进行第一标注之后,可以根据第一标注的数量确定列数据对应的极值。

具体地,在上述任一实施例的基础上,步骤203具体包括:

针对每一列数据,将第一标注最多的数据作为所述列数据的极大值,将所述第一标注最少的数据作为所述列数据的极小值。

在本实施例中,由于在数据大于其他数据时,对其进行第一标注,则若数据的第一标注越多,则表征其数值越大。因此,针对每一列数据,可以将第一标注最多的数据作为列数据的极小值,将第一标注最少的数据作为列数据的极小值。承接上例来说,数据61的第一标注量为4个,数据15的第一标注数量为0个,因此,可以快速地确定第一列数据中极大值为61,极小值为15。

本实施例提供的极值点提取方法,通过在数据大于其他数据时,对其进行第一标注,后续可以根据第一标注的数量实现极值的确定。从而能够在实现极值精准确定的基础上,提供极值获取效率,节约硬件资源。

可选地,在上述任一实施例的基础上,步骤202具体包括:

若所述数据小于其他数据,则对所述数据进行第二标注。

将列数据中的每一数据分别于列数据中的其他数据进行比较,获取与各其他数据对应的比较结果。根据该比较结果对列数据中的各数据进行标注。具体地,若检测到该数据小于其他数据,则可以对该数据进行第二标注。仍旧承接上例来说,数据23对应的第二标注数量为3个,数据54对应的第二标注数量为1个,数据24对应的第二标注数量为2个,数据61对应的第二标注数量为0个,数据15对应的第二标注数量为4个。

进一步地,在上述任一实施例的基础上,步骤203具体包括:

根据所述第二标注的数量确定所述列数据的极值。

在本实施例中,根据比较结果对数据进行第二标注之后,可以根据第二标注的数量确定列数据对应的极值。

具体地,在上述任一实施例的基础上,步骤203具体包括:

针对每一列数据,将第二标注最多的数据作为所述列数据的极小值,将所述第二标注最少的数据作为所述列数据的极大值。

在本实施例中,由于在数据小于其他数据时,对其进行第二标注,则若数据的第二标注越多,则表征其数值越小。因此,针对每一列数据,可以将第二标注最多的数据作为列数据的极小值,将第二标注最少的数据作为列数据的极小值。承接上例来说,数据15对应的第二标注数量为4个,数据61对应的第二标注数量为0个,因此,可以快速地确定极小值为15,极大值为61。

本实施例提供的极值点提取方法,通过在数据小于其他数据时,对其进行第二标注,后续可以根据第二标注的数量实现极值的确定。从而能够在实现极值精准确定的基础上,提供极值获取效率,节约硬件资源。

需要说明的是,上述两个实施方式可以单独实施,也可以结合实施,当其结合实施时,当数据大于其他数据时,可以对其进行第一标注,当数据小于其他数据时,可以对其进行第二标注。后续可以根据第一标注和/或第二标注的数量实现极值的确定。

图6为本发明实施例三提供的极值点提取方法的流程示意图,在上述任一实施例的基础上,所述列数据中包括第一数据以及第二数据,步骤202具体包括:

步骤301、将所述第一数据与所述第二数据进行大小比较,根据比较结果对所述第一数据进行第一标注;

步骤302、当所述第二数据与所述第一数据进行大小比较时,根据所述第一数据的第一标注,对所述第二数据进行第二标注。

在本实施例中,列数据中可以包括第一数据以及第二数据,其中,第一数据具体可以在第二数据之前。因此,时序上首先可以对第一数据进行比较,当第一数据与第二数据进行比较时,可以根据比较结果对第一数据进行标注。相应地,当后续将第二数据与第一数据进行比较时,可以直接根据第一数据关于第二数据的比较结果,对第二数据进行第二标注。仍承接上例来说,当第一列数据中数据“23”与数据“54”进行比较时,由于数据“23”小于数据“54”,则可以对数据“23”进行第一标注,例如第一标注为0,为了进一步地提高极值确定速度,当数据“54”与数据“23”进行比较时,可以直接根据数据“23”的第一标注进行取反操作,对数据“54”进行第二标注,即第二标注为1。

本实施例提供的极值点提取方法,通过在第二数据与第一数据进行比较时,可以直接根据第一数据关于第二数据的比较结果,对第二数据进行第二标注,从而能够进一步地提高极值确定的速度,降低硬件资源的消耗。

进一步地,在上述任一实施例的基础上,所述方法还包括:

将所述列数据的极值存储至先入先出队列中。

在本实施例中,根据比较结果确定每一列数据对应的极值之后,可以先将列数据的极值存储至先入先出队列中。该先入先出队列可以具有预设的深度。以实际应用举例来说,先入先出队列的深度可以为5。

进一步地,在上述任一实施例的基础上,所述将所述列数据的极值存储至先入先出队列中,包括:

若所述待处理窗口为初始窗口,则将每一列数据的极值存储至先入先出队列中。

在本实施例中,初始窗口即为固定窗口按照预设的顺序遍历获得的第一个待处理窗口,当极值点提取设备在对初始窗口进行极值点确定过程中,由于该初始窗口为极值点提取设备处理的第一个窗口,为了实现对初始窗口极值点的确定,在各列数据对应的极值确定之后,可以将每一列数据的极值均存储至该先入先出队列中。

本实施例提供的极值点提取方法,通过在当前处理的待处理窗口为初始窗口时,将每一列数据的极值存储至先入先出队列中,从而能够实现对初始窗口对应的极值点的精准获取。

可选地,图7为本发明实施例提供的先入先出队列示意图,在上述任一实施例的基础上,所述将所述列数据的极值存储至先入先出队列中,包括:

若所述待处理窗口为非初始窗口,则将所述先入先出队列中的最早一个数据删除,并将所述待处理窗口中最后一列数据的极值存储至先入先出队列中。

在本实施例中,若当前处理的待处理窗口不是初始窗口,其中,初始窗口即为固定窗口按照预设的顺序遍历获得的第一个待处理窗口。则可以将先入先出队列中最早的一个数据删除,并将待处理窗口中最后一列数据的极值存储至先入先出队列中。进而可以将先入先出队列中的全部数据进行比较,实现待处理窗口极值的确定。如图7所示,获取到各列数据的极值之后,可以将列数据的极值输入至先入先出队列中,当先入先出队列中的数据数量达到预设的阈值时,对先入先出队列中的列数据极值进行比较,确定待处理窗口的极值。相应地,为了进一步地提高待处理窗口极值确定的效率,针对重复数据可以不进行比较,因此,若当前处理的待处理窗口不是初始窗口,则可以直接获取待处理窗口中最后一列数据的极值,将最后一列数据的极值存储至先入先出队列中,删除先入先出队列中最下面的极值。将列数据获得的极值点放入深度为5的FIF0中,当FIFO数据满5时,即得到5x5窗口中每一列的极值,然后再将FIFO内的数据再次通过上述比较方法进行标注,并提取极值输出,后续窗口内的像素点,重叠部分并不需要重复计算,只需挤掉FIFO最下面的极值点即可,从而对窗口内的像素流水利用起来。

本实施例提供的极值点提取方法,通过在当前处理的待处理窗口非初始窗口时,将所述先入先出队列中的最早一个数据删除,并将所述待处理窗口中最后一列数据的极值存储至先入先出队列中,从而能够在实现极值点的精准获取的基础上,进一步地节约硬件资源。

进一步地,在上述任一实施例的基础上,步骤103具体包括:

将所述先入先出队列中每一极值分别与其他极值进行比较,获得所述待处理窗口的极值。

在本实施例中,确定每一列数据的极值,并将每一列数据的极值存储至先入先出队列中之后,可以将先入先出队列中的每一极值分别于其他极值进行比较,根据比较结果对先入先出队列中的每一极值进行标注,并根据标注数量获得待处理窗口的极值。

本实施例提供的极值点提取方法,通过将所述先入先出队列中每一极值分别与其他极值进行比较,获得所述待处理窗口的极值,从而能够实现对待处理窗口极值的精准快速地获取,并且能够节约硬件资源。

图8为本发明实施例四提供的极值点提取设备的结构示意图,如图8所示,所述极值点提取设备包括:存储器41和处理器42;

所述存储器41用于存储程序代码;

所述处理器42,调用所述程序代码,当程序代码被执行时,用于执行以下操作:

获取待处理窗口的至少一列数据;

将所述列数据中的每一数据和其他数据进行比较生成比较结果,根据每一数据的比较结果确定所述列数据的极值;

根据所述待处理窗口中每一列数据的极值,获取所述待处理窗口的极值。

进一步地,在上述任一实施例的基础上,所述处理器在获取待处理窗口的至少一列数据之前,还用于:

通过预设的固定窗口按照预设的顺序依次遍历待处理数据块中的数据,获得至少一个待处理窗口。

进一步地,在上述任一实施例的基础上,所述处理器在获取待处理窗口的至少一列数据时,用于:

若所述待处理窗口为初始窗口,则获取所述初始窗口中每一列数据,所述初始窗口为所述固定窗口按照预设的顺序遍历的第一个待处理窗口。

进一步地,在上述任一实施例的基础上,所述处理器在获取待处理窗口的至少一列数据时,用于:

若所述待处理窗口非初始窗口,则获取所述待处理窗口中最后一列数据。

进一步地,在上述任一实施例的基础上,所述处理器在获取待处理窗口的至少一列数据时,用于:

对所述待处理窗口进行行缓存操作,获得至少一列列数据。

进一步地,在上述任一实施例的基础上,所述处理器在将所述列数据中的每一数据和其他数据进行比较生成比较结果,根据每一数据的比较结果确定所述列数据的极值时,用于:

将所述列数据中的每一数据分别于所述列数据中的其他数据进行比较,获得与各其他数据对应的比较结果;

根据所述比较结果对所述列数据中的每一数据进行标注;

根据每一数据标注的数量确定所述列数据的极值。

进一步地,在上述任一实施例的基础上,所述处理器在根据所述比较结果对所述列数据中的每一数据进行标注时,用于:

若所述数据大于其他数据,则对所述数据进行第一标注。

进一步地,在上述任一实施例的基础上,所述处理器在根据每一数据标注的数量确定所述列数据的极值时,用于:

根据所述第一标注的数量确定所述列数据的极值。

进一步地,在上述任一实施例的基础上,所述处理器在根据每一数据标注的数量确定所述列数据的极值时,用于:

针对每一列数据,将第一标注最多的数据作为所述列数据的极大值,将所述第一标注最少的数据作为所述列数据的极小值。

进一步地,在上述任一实施例的基础上,述处理器在根据所述比较结果对所述列数据中的每一数据进行标注时,用于:

若所述数据小于其他数据,则对所述数据进行第二标注。

进一步地,在上述任一实施例的基础上,所述处理器在根据每一数据标注的数量确定所述列数据的极值时,用于:

根据所述第二标注的数量确定所述列数据的极值。

进一步地,在上述任一实施例的基础上,所述处理器在根据每一数据标注的数量确定所述列数据的极值时,用于:

针对每一列数据,将第二标注最多的数据作为所述列数据的极小值,将所述第二标注最少的数据作为所述列数据的极大值。

进一步地,在上述任一实施例的基础上,所述列数据中包括第一数据以及第二数据,所述处理器在根据所述比较结果对所述列数据中的每一数据进行标注时,用于:

将所述第一数据与所述第二数据进行大小比较,根据比较结果对所述第一数据进行第一标注;

当所述第二数据与所述第一数据进行大小比较时,根据所述第一数据的第一标注,对所述第二数据进行第二标注。

进一步地,在上述任一实施例的基础上,所述处理器还用于:

将所述列数据的极值存储至先入先出队列中。

进一步地,在上述任一实施例的基础上,所述处理器在将所述列数据的极值存储至先入先出队列中时,用于:

若所述待处理窗口为初始窗口,则将每一列数据的极值存储至先入先出队列中。

进一步地,在上述任一实施例的基础上,所述处理器在将所述列数据的极值存储至先入先出队列中时,用于:

若所述待处理窗口为非初始窗口,则将所述先入先出队列中的最早一个数据删除,并将所述待处理窗口中最后一列数据的极值存储至先入先出队列中。

进一步地,在上述任一实施例的基础上,所述处理器在根据所述待处理窗口中每一列数据的极值,获取所述待处理窗口的极值时,用于:

将所述先入先出队列中每一极值分别与其他极值进行比较,获得所述待处理窗口的极值。

本发明又一实施例还提供一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现如上述任一实施例所述的方法。

图9为本发明实施例五提供的图像处理方法的流程示意图,如图9所示,所述方法包括:

步骤501、获取待处理图像的待处理窗口的至少一列像素值;

步骤502、将所述列像素值中的每一像素值和其他像素值进行比较,生成比较结果,根据每一像素值的比较结果确定所述列像素值的极值;

步骤503、根据所述待处理窗口中每一列像素值的极值,获取所述待处理窗口的极值,以所述待处理窗口的极值所在的位置作为所述待处理图像的噪点或坏点。

本实施例的执行主体为极值点提取设备。待处理图像中包括多个待处理窗口,每一待处理窗口中具有多个像素值,多个像素值分布为至少一列列像素值。为了实现对待处理窗口极值点的快速获取,首先可以获取待处理窗口中至少一列像素值。每一列像素值中均包括至少一个像素值,针对每一列像素值,可以分别将每个像素值与其他像素值进行比较,获得比较结果,根据比较结果确定该列像素值对应的极值。确定每一列像素值的极值之后,可以根据待处理窗口中每一列像素值的极值,确定待处理窗口的极值。具体地,可以将待处理窗口中各列像素值的极值分别于其他列像素值的极值进行比较,获得比较结果,根据该比较结果确定待处理窗口的极值。其中,待处理窗口的极值即为待处理图像的噪点或坏点。为了实现待处理图像的优化,在确定噪点或坏点之后,还可以根据噪点或坏点周围的像素值,对该噪点或坏点进行调整,获得优化后的图像。

区别于现有技术中对待处理窗口中全部像素值进行排序以确定待处理窗口极值的方法,由于每一列像素值中像素值量较少,因此,针对每一列像素值,根据每一像素值的比较结果确定列像素值的极值,根据待处理窗口中每一列像素值的极值确定待处理窗口的极值,能够有效提高极值点确定的效率,且能够节约硬件资源。

本实施例提供的图像处理方法,通过获取待处理窗口中的至少一列像素值,针对每一列像素值,将该列像素值中的每一像素值与其他像素值进行比较,确定该列像素值中的极大值,根据待处理窗口中每一列像素值的极值,获取待处理窗口的极值。从而无需对待处理窗口中的每一像素值进行排序,根据排序结果确定待处理窗口中的极值,进而能够有效地降低硬件资源的消耗,提高极值点获取的效率。

进一步地,在上述任一实施例的基础上,所述获取待处理图像的待处理窗口的至少一列像素值之前,还包括:

通过预设的固定窗口按照预设的顺序依次遍历待处理图像中的数据,获得至少一个待处理窗口。

进一步地,在上述任一实施例的基础上,所述获取待处理图像的待处理窗口的至少一列像素值,包括:

若所述待处理窗口为初始窗口,则获取所述初始窗口中每一列像素值,所述初始窗口为所述固定窗口按照预设的顺序遍历的第一个待处理窗口。

进一步地,在上述任一实施例的基础上,所述获取待处理图像的待处理窗口的至少一列像素值,包括:

若所述待处理窗口非初始窗口,则获取所述待处理窗口中最后一列像素值。

进一步地,在上述任一实施例的基础上,获取待处理图像的待处理窗口的至少一列像素值,包括:

对所述待处理窗口进行行缓存操作,获得至少一列列像素值。

进一步地,在上述任一实施例的基础上,所述将所述列像素值中的每一像素值和其他像素值进行比较,生成比较结果,根据每一像素值的比较结果确定所述列像素值的极值,包括:

将所述列像素值中的每一像素值分别与所述列像素值中的其他像素值进行比较,获得与各其他像素值对应的比较结果;

根据所述比较结果对所述列像素值中的每一像素值进行标注;

根据每一像素值标注的数量确定所述列像素值的极值。

进一步地,在上述任一实施例的基础上,所述根据所述比较结果对所述列像素值中的每一像素值进行标注,包括:

若所述像素值大于其他像素值,则对所述像素值进行第一标注。

进一步地,在上述任一实施例的基础上,所述根据每一像素值标注的数量确定所述列像素值的极值,包括:

根据所述第一标注的数量确定所述列像素值的极值。

进一步地,在上述任一实施例的基础上,所述根据每一像素值标注的数量确定所述列像素值的极值,包括:

针对每一列像素值,将第一标注最多的像素值作为所述列像素值的极大值,将所述第一标注最少的像素值作为所述列像素值的极小值。

进一步地,在上述任一实施例的基础上,所述根据所述比较结果对所述列像素值中的每一像素值进行标注,包括:

若所述像素值小于其他像素值,则对所述像素值进行第二标注。

进一步地,在上述任一实施例的基础上,所述根据每一像素值标注的数量确定所述列像素值的极值,包括:

根据所述第二标注的数量确定所述列像素值的极值。

进一步地,在上述任一实施例的基础上,所述根据每一像素值标注的数量确定所述列像素值的极值,包括:

针对每一列像素值,将第二标注最多的像素值作为所述列像素值的极小值,将所述第二标注最少的像素值作为所述列像素值的极大值。

进一步地,在上述任一实施例的基础上,所述列像素值中包括第一像素值以及第二像素值,所述根据所述比较结果对所述列像素值中的每一像素值进行标注,包括:

将所述第一像素值与所述第二像素值进行大小比较,根据比较结果对所述第一像素值进行第一标注;

当所述第二像素值与所述第一像素值进行大小比较时,根据所述第一像素值的第一标注,对所述第二像素值进行第二标注。

进一步地,在上述任一实施例的基础上,所述方法还包括:

将所述列像素值的极值存储至先入先出队列中。

进一步地,在上述任一实施例的基础上,所述将所述列像素值的极值存储至先入先出队列中,包括:

若所述待处理窗口为初始窗口,则将每一列像素值的极值存储至先入先出队列中。

进一步地,在上述任一实施例的基础上,所述将所述列像素值的极值存储至先入先出队列中,包括:

若所述处理窗口为非初始窗口,则将所述先入先出队列中的最早一个像素值删除,并将所述待处理窗口中最后一列像素值的极值存储至先入先出队列中。

进一步地,在上述任一实施例的基础上,所述根据所述待处理窗口中每一列像素值的极值,获取所述待处理窗口的极值,包括:

将所述先入先出队列中每一极值分别与其他极值进行比较,获得所述待处理窗口的极值。

图10为本发明实施例六提供的图像处理装置的结构示意图,如图10所示,所述图像处理装置包括:存储器61和处理器62;

所述存储器61用于存储程序代码;

所述处理器62,调用所述程序代码,当程序代码被执行时,用于执行上述任一实施例所述的图像处理方法。

本发明又一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述任一实施例所述的方法。

图11为本发明实施例七提供的可移动平台的结构示意图,如图11所示,所述可移动平台71包括机体72;

动力系统73,设于所述机体72内,用于为所述可移动平台71提供动力;

图像采集装置74,用于采集图像;以及

如实施例六所述的图像处理装置75,用于对所述图像进行处理。

本发明又一实施例还提供一种相机,所述相机包括:

外壳;

镜头组件,设于所述外壳内部;

传感器模块,设于所述外壳内部并设于所述镜头组件的后端,用于感知通过所述镜头组件的光并生成电信号;以及

如实施例六所述的图像处理装置,用于对所述电信号进行处理。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

相关技术
  • 极值点提取方法、设备及计算机可读存储介质
  • 规则提取方法、计算机可读存储介质及计算机设备
技术分类

06120112182263