首页> 中国专利> 一种图像中特征点的提取方法及提取装置

一种图像中特征点的提取方法及提取装置

摘要

本发明公开了一种图像中特征点的提取方法及提取装置,滤波模块可以在处理完一个像素的数据就输出处理结果,而无需等待对其余像素的数据的处理;并且,提取模块在接收到一个像素的数据时,即可进行提取处理,然后可以输出提取结果,同样无需对其余像素的处理结果。如此,在滤波模块对第i个像素的数据进行滤波处理时,提取模块同时可以执行对第i‑1个像素的中特征点的提取工作,各模块之间形成“业务流水线式”的工作模式,大大降低了特征点的提取所需要的时间,增加了特征点的提取效率,并且还可以降低提取装置的功耗,提升能耗比。

著录项

  • 公开/公告号CN112529016A

    专利类型发明专利

  • 公开/公告日2021-03-19

    原文格式PDF

  • 申请/专利权人 浙江欣奕华智能科技有限公司;

    申请/专利号CN202011516597.7

  • 发明设计人 刘琼瑶;王必胜;张弥;

    申请日2020-12-21

  • 分类号G06K9/46(20060101);

  • 代理机构11291 北京同达信恒知识产权代理有限公司;

  • 代理人刘彩红

  • 地址 314400 浙江省嘉兴市海宁市海宁经济开发区隆兴路118号内主办公楼3楼375室

  • 入库时间 2023-06-19 10:19:37

说明书

技术领域

本发明涉及图像处理技术领域,尤指一种图像中特征点的提取方法及提取装置。

背景技术

在提取图像中的特征点时,以Harris/Shi-Tomasi算法为例,可以包括:sobel滤波、构建协方差矩阵、盒式滤波、计算响应值、阈值判断、膨胀滤波和非最大值抑制这些步骤,并且,这些步骤在执行时,每个步骤都是在对图像中的全部像素的数据处理完之后,将全部像素的数据处理结果统一传输至下一个步骤对应的模块中,使得下一个步骤对应的模块在对接收到的全部像素的数据处理结果全部处理完之后再传输至下下一个步骤对应的模块中。如此,若要实现图像特征点的提取,需要的时间则为上述所有步骤执行完毕所消耗的时间,导致特征点的提取效率较低。

那么,如何提高图像特征点的提取效率,是本领域技术人员亟待解决的技术问题。

发明内容

本发明实施例提供了一种图像中特征点的提取方法及提取装置,用以提高图像特征点的提取效率。

第一方面,本发明实施例提供了一种图像中特征点的提取装置,包括:滤波模块和提取模块;

所述滤波模块用于:依次对待处理图像数据中每个像素的数据进行滤波处理,并在完成对任一所述像素的数据的滤波处理时,将该像素的滤波处理结果传输至所述提取模块;

所述提取模块用于:在接收到该像素的滤波处理结果时,提取该像素的滤波处理结果中的特征点,并将该像素的提取结果输出。

可选地,在本发明实施例中,所述滤波模块包括:多个滤波单元;

各所述滤波单元用于:同时对任一所述像素的数据进行滤波处理,并同时将该像素的滤波处理结果传输至所述提取模块。

可选地,在本发明实施例中,各所述滤波单元的结构相同。

可选地,在本发明实施例中,所述滤波单元或所述滤波模块包括:数据读取子单元、行缓存器、阵列提取子单元和计算子单元;

所述数据读取子单元用于:从所述待处理图像数据中依次读取各所述像素的数据,并按照预设的存储规则,将读取到的数据依次存入至所述行缓存器中;

所述阵列提取子单元用于:按照预设的提取规则,根据预设的提取窗口,从所述行缓存器中提取数据阵列;

所述计算子单元用于:按照预设算法对所述数据阵列进行计算处理,得到计算结果后输出;其中,所述计算结果为:所述数据阵列的中心位置的数据对应的计算结果。

可选地,在本发明实施例中,所述存储规则包括:

在所述行缓存器包括k1行存储空间,每行所述存储空间按照预设的行序号设置规则对应设置有行序号,且所述待处理图像数据包括k2行像素,k1小于k2,k1和k2均为正整数,所述行序号设置为零至k1-1中的任一整数时,对于所述待处理图像中第1行至第k1-1行像素:第F1行像素的数据被存储至所述行序号为F1的存储空间中,且F1为1至k1-1中的任一整数;

对于所述待处理图像中第k1行至第k2行像素:第F2行像素的数据被存储至所述行序号为k1-1的存储空间中,且替换该所述行序号为k1-1的存储空间中的原数据,且F2为k1至k2中的任一整数;

其中,每行所述存储空间均包括:头部空间、中部空间和尾部空间,所述行序号首次被设置为零的存储空间仅存储有预设的第一边界值,除所述行序号首次被设置为零的存储空间之外,其余所述行序号对应的所述存储空间中:所述头部空间和所述尾部空间均存储有预设的第二边界值,所述中部空间存储有对应像素的数据。

可选地,在本发明实施例中,所述行序号设置规则包括:

在所述行缓存器未被填满时,对于所述k1行存储空间,按照各行所述存储空间的排列顺序,将零至k1-1依次设置为各行所述存储空间的行序号;

在所述行缓存器被填满,或在所述行缓存器被填满之后,任一行存储空间被填满时,将原行序号零更新为行序号k1-1,且将原行序号F3更新为行序号F3-1,F3为1至k1-1中的任一整数。

可选地,在本发明实施例中,每行所述存储空间的存储容量相同;

所述中部空间的存储容量等于所述待处理图像数据中所述像素的列数;

所述头部空间和所述尾部空间的存储容量相同,且在根据所述提取窗口提取到的所述数据阵列包括y行y列时,所述头部空间的存储容量为(y-1)/2;其中,y为正整数。

可选地,在本发明实施例中,所述提取规则包括:

在所述数据读取子单元将读取到的所述待处理图像数据中第i行第j列像素的数据存入至所述行缓存器中时,提取出的所述数据阵列的中心位置的数据为所述待处理图像数据中第i-1行第j-1列像素的数据,且i和j为大于1的整数。

可选地,在本发明实施例中,所述阵列提取子单元和所述计算单元子单元均设置有多个,且所述阵列提取子单元和所述计算子单元的设置数量相同;

各所述阵列提取子单元具体用于:按照所述提取规则,根据所述提取窗口,同时从所述行缓存器中提取数据阵列;其中,不同所述阵列提取子单元提取到的所述数据阵列包括的数据至少部分不同;

各所述计算子单元具体用于:按照所述预设算法,同时对所述数据阵列进行计算处理,得到计算结果后输出。

第二方面,本发明实施例提供了一种图像中特征点的提取方法,包括:

滤波模块依次对待处理图像数据中每个像素的数据进行滤波处理,并在完成对任一所述像素的数据的滤波处理时,将该像素的滤波处理结果输出至提取模块;

所述提取模块提取该像素的滤波处理结果中的特征点,并将该像素的提取结果输出。

本发明有益效果如下:

本发明实施例提供的一种图像中特征点的提取方法及提取装置,在提取装置包括滤波模块和提取模块时,滤波模块可以在完成对任一像素的数据的滤波处理时,将该像素的滤波处理结果传输至提取模块,也即处理完一个像素的数据就输出处理结果,而无需等待对其余像素的数据的处理;并且,提取模块在接收到该像素的滤波处理结果时,提取该像素的滤波处理结果中的特征点,也即在接收到一个像素的数据时,即可进行提取处理,然后可以输出提取结果,同样无需对其余像素的处理结果。如此,在滤波模块对第i个像素的数据进行滤波处理时,提取模块同时可以执行对第i-1个像素的中特征点的提取工作,各模块之间形成“业务流水线式”的工作模式,大大降低了特征点的提取所需要的时间,增加了特征点的提取效率,并且还可以降低提取装置的功耗,提升能耗比。

附图说明

图1为本发明实施例中提供的一种提取装置的结构示意图;

图2为本发明实施例中提供的一种滤波模块的具体结构示意图;

图3为本发明实施例中提供的一种行序号和行存储空间的示意图;

图4为本发明实施例中提供的另一种行序号和行存储空间的示意图;

图5为本发明实施例中提供的一行存储空间的结构示意图;

图6为本发明实施例中提供的另一种滤波模块的具体结构示意图;

图7为本发明实施例中提供的Harris/Shi-Tomasi算法的示意图;

图8为本发明实施例中提供的业务流水线式的工作模式的示意图;

图9为本发明实施例中提供的一种提取方法的流程图。

具体实施方式

下面将结合附图,对本发明实施例提供的一种图像中特征点的提取方法及提取装置的具体实施方式进行详细地说明。需要说明的是,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种图像中特征点的提取装置,如图1所示,可以包括:滤波模块10和提取模块20;

滤波模块10用于:依次对待处理图像数据中每个像素的数据进行滤波处理,并在完成对任一像素的数据的滤波处理时,将该像素的滤波处理结果传输至提取模块20;

提取模块20用于:在接收到该像素的滤波处理结果时,提取该像素的滤波处理结果中的特征点,并将该像素的提取结果输出。

例如,滤波模块在对待处理图像数据中第1个像素的数据进行滤波处理后,将结果(记为L1)输出至提取模块,提取模块在接收到结果L1时,提取特征点,并将提取结果(记为T1)输出;

并且,在滤波模块对第2个像素的数据进行滤波处理时,提取模块可能同时在对结果L1执行特征点提取工作,在提取完之后输出提取结果;

同样地,在滤波模块对第3个像素的数据进行滤波处理时,提取模块可能同时在对结果L2(即滤波模块对第2个像素的数据的滤波处理结果)执行特征点提取工作,在提取完之后输出提取结果;

直至滤波模块对最后一个像素的数据进行滤波处理时,提取模块可能同时在对结果Ln-1(即滤波模块对倒数第二个像素的数据的滤波处理结果)执行特征点提取工作;然后,提取模块在接收到结果Ln(即滤波模块对最后一个像素的数据的滤波处理结果)时,提取特征点,并将提取结果(记为Tn)输出。

也就是说,滤波模块可以处理完一个像素的数据就输出处理结果,而无需等待对其余像素的数据的处理;并且,提取模块也可以在接收到一个像素的数据时,即可进行提取处理,然后可以输出提取结果,同样无需对其余像素的处理结果。

如此,在滤波模块对第n个像素的数据进行滤波处理时,提取模块同时可以执行对第n-1个像素的中特征点的提取工作,各模块之间形成“业务流水线式”的工作模式,大大降低了特征点的提取所需要的时间,增加了特征点的提取效率,并且还可以降低提取装置的功耗,提升能耗比。

可选地,在本发明实施例中,滤波模块包括:多个滤波单元;

各滤波单元用于:同时对任一像素的数据进行滤波处理,并同时将该像素的滤波处理结果传输至提取模块。

如此,在滤波模块包括多个滤波单元时,可以使得各滤波单元同时并行工作,而无需等待其中一个滤波单元工作完之后,另一个滤波单元再工作,也即避免了各滤波单元之间的串行工作,进而可以提高滤波模块的工作效率,减少滤波处理所需要的时间。

具体地,在本发明实施例中,不同滤波单元对应处理的数据可能不同,或不同滤波单元对同一数据的处理方式可能不同。

以Harris/Shi-Tomasi算法为例,对于sobel滤波而言:

执行sobel滤波的模块可以记为sobel滤波模块,该sobel滤波模块可以包括:水平sobel滤波单元和垂直sobel滤波单元,且水平sobel滤波单元可以对像素的数据进行水平方向的滤波处理,垂直sobel滤波单元可以对像素的数据进行垂直方向的滤波处理;所以,水平sobel滤波单元和垂直sobel滤波单元执行的是对同一数据的不同处理方式。

对于盒式滤波而言:

执行盒式滤波的模块可以记为盒式滤波模块,该盒式滤波模块可以包括:第一盒式滤波单元、第二盒式滤波单元和第三盒式滤波单元,第一盒式滤波单元可以对构建协方差矩阵模块(即用于构建协方差矩阵的模块)输出的第一数据(如Gx

具体地,在本发明实施例中,各滤波单元的结构相同。

如此,可以简化滤波模块的结构,进而简化提取装置的结构,降低提取装置的结构的复杂度。

可选地,在本发明实施例中,如图2所示,滤波单元或滤波模块包括:数据读取子单元21、行缓存器22、阵列提取子单元23和计算子单元24;

数据读取子单元21用于:从待处理图像数据中依次读取各像素的数据,并按照预设的存储规则,将读取到的数据依次存入至行缓存器22中;

阵列提取子单元23用于:按照预设的提取规则,根据预设的提取窗口,从行缓存器22中提取数据阵列;

计算子单元24用于:按照预设算法对数据阵列进行计算处理,得到计算结果后输出;其中,计算结果为:数据阵列的中心位置的数据对应的计算结果。

如此,通过数据读取子单元、阵列提取子单元和计算子单元之间的配合工作,可以实现滤波单元或滤波模块的功能,同时可以实现滤波单元或滤波模块在对任一像素的数据处理完之后输出,从而提高特征点的提取效率,降低提取装置的功耗。

具体地,在本发明实施例中,存储规则可以包括:

在行缓存器包括k1行存储空间,每行存储空间按照预设的行序号设置规则对应设置有行序号,且待处理图像数据包括k2行像素,k1小于k2,k1和k2均为正整数,行序号设置为零至k1-1中的任一整数时,对于待处理图像中第1行至第k1-1行像素:第F1行像素的数据被存储至行序号为F1的存储空间中,且F1为1至k1-1中的任一整数;

对于待处理图像中第k1行至第k2行像素:第F2行像素的数据被存储至行序号为k1-1的存储空间中,且替换该行序号为k1-1的存储空间中的原数据,且F2为k1至k2中的任一整数;

其中,每行存储空间均包括:头部空间、中部空间和尾部空间,行序号首次被设置为零的存储空间仅存储有预设的第一边界值,除行序号首次被设置为零的存储空间之外,其余行序号对应的存储空间中:头部空间和尾部空间均存储有预设的第二边界值,中部空间存储有对应像素的数据。

例如,如图2所示,图中是以行缓存器22包括三行存储空间(即k1=3)为例的,但在实际情况中,行缓存器22包括的存储空间的行数并不限于三,可以根据实际需要设置行缓存器22的存储大小,在此并不限定。

以待处理图像数据中包括100行像素(即k2=100)为例,在假设k1=3时,行序号(如虚线框1内所示)可以为0、1和2中的任一值;因此:

在未读取到像素的数据之前,行缓存器22中行序号为0的存储空间中仅存储有第一边界值,如图2所示;

对于读取到的待处理图像中第1行至第2行像素的数据:第1行像素的数据被存储至行序号为1的存储空间中,第2行像素的数据被存储至行序号为2的存储空间中,如图2所示;

对于待处理图像中第3行至第100行像素:第3行像素的数据被存储至行序号为2的存储空间中,且替换该行序号为2的存储空间中的原数据(即第一边界值),如图3所示;第4行像素的数据被存储至行序号为2的存储空间中,且替换该行序号为2的存储空间中的原数据(即第1行像素的数据),如图4所示;第5行像素的数据被存储至行序号为2的存储空间中,且替换该行序号为2的存储空间中的原数据,未给出图示;直至第100行像素的数据被存储至行序号为2的存储空间中,且替换该行序号为2的存储空间中的原数据,未给出图示。

并且,参见图5所示的其中一行存储空间的结构示意图,以该行存储空间中存储的是第1行像素的数据,且第1行包括4个像素,该行存储空间可以存储6个数据为例,此时:

可以将该行存储空间的第一个位置定义为头部空间,此处存储的是第二预设值(如b);

将该行存储空间的第二个位置至第五个位置定义为中部空间,此处存储的是第1行中4个像素的数据(如P11、P12、P13和P14);

将该行存储空间的最后一个位置定义为尾部空间,此处存储的依然是第二预设值(如b)。

此外,第一预设值和第二预设值的具体设置方式,可以根据实际需要进行设置,在此并不限定。

如此,通过上述存储规则的设置,可以将读取到的像素的数据存储至行缓存器中的相应位置,以便于后续阵列提取子单元提取数据阵列,从而实现滤波模块或滤波单元的功能。

具体地,在本发明实施例中,行序号设置规则包括:

在行缓存器未被填满时,对于k1行存储空间,按照各行存储空间的排列顺序,将零至k1-1依次设置为各行存储空间的行序号;

在行缓存器被填满,或在行缓存器被填满之后,任一行存储空间被填满时,将原行序号零更新为行序号k1-1,且将原行序号F3更新为行序号F3-1,F3为1至k1-1中的任一整数。

例如,如图2所示,在行缓存器22中还有剩余空间时,表示行缓存器22尚未被填满,此时行缓存器22包括的三行存储空间,从上至下,行序号依次为0、1和2;

在行缓存器22中被填满时,也即将读取到的第2行像素的数据全部存储至行序号为2的存储空间时,那么基于目前的情况,读取到的第3行像素的数据则没有剩余空间可以存储,此时需要调整各行存储空间的行序号,也即:如图3中虚线框1内所示,将原行序号0更新为行序号2,将原行序号1更新为行序号0,将原行序号2更新为行序号1;然后,将读取到的第3行像素的数据存储至当前行序号为2的存储空间中,并替换当前行序号为2的存储空间中之前存储的第一边界值;

同理,将读取到的第3行像素的数据全部存储至行序号为2的存储空间时,那么基于目前的情况,读取到的第4行像素的数据依然没有剩余空间可以存储,此时需要继续调整各行存储空间的行序号,也即:如图4中虚线框1内所示,将原行序号0更新为行序号2,将原行序号1更新为行序号0,将原行序号2更新为行序号1;然后,将读取到的第4行像素的数据存储至当前行序号为2的存储空间中,并替换当前行序号为2的存储空间中之前存储的第1行像素的数据。

如此,在数据读取和存储时,只需要调整行序号,而无需对数据进行搬移,从而可以避免因大量数据的搬移而增加提取装置的运算量,以加快特征点的提取效率。

具体地,在本发明实施例中,每行存储空间的存储容量相同;

中部空间的存储容量等于待处理图像数据中像素的列数;

头部空间和尾部空间的存储容量相同,且在根据提取窗口提取到的数据阵列包括y行y列时,头部空间的存储容量为(y-1)/2;其中,y为正整数。

例如,如图5所示,头部空间和尾部空间的存储容量均为1,此时对应的提取到的数据阵列为3行3列。

或者,数据阵列为5行5列时,y为5,此时头部空间和尾部空间的存储容量可以为2。

如此,可以使得在提取数据阵列时,可以完整的提取到数据,以便于后续计算子单元对数据阵列进行计算。

具体地,在本发明实施例中,提取规则包括:

在数据读取子单元将读取到的待处理图像数据中第i行第j列像素的数据存入至行缓存器中时,提取出的数据阵列的中心位置的数据为待处理图像数据中第i-1行第j-1列像素的数据,且i和j为大于1的整数。

例如,表1是以包括三行存储空间为例的行缓存器,最左侧表示当前的行序号,表2示出的是在数据读取子单元将读取到的P22(即第2行第2列像素)的数据存入至行缓存器中时,阵列提取子单元提取到的数据阵列。

表1

表2

其中,表1和表2中,a表示第一边界值,b均表示第二边界值,可以根据需要进行设置,在此并不限定。

具体地,基于上述表1和表2所示,在数据读取子单元读取到P22的数据并存入行缓存器中的行序号2中的第3个位置时,阵列提取子单元可以从表1所示的行缓存器中提取数据阵列,且行序号1中的第2个位置位于数据阵列的中心位置,即P11(即第1行第1列像素)的数据位于提取到的数据阵列的中心位置。

具体地,数据阵列中,各像素的数据在该数据阵列中的位置关系需要与在原始图像的位置关系相同。

例如,行缓存器中的存储的数据为表3所示时,表示数据读取子单元已经将读取到的P33(即第3行第3列像素)的数据存储至行序号为2中的第4个位置,此时:阵列提取子单元可以从行缓存器中提取到中心位置为P22的数据阵列,且提取到的数据阵列中各数据的排列顺序与原待处理图像中的排列顺序相同,如表4所示。

表3

表4

如此,有利于计算子单元可以正确地计算出数据阵列的计算结果,以免出现计算错误,从而提高特征点提取的准确率。

具体地,在本发明实施例中,阵列提取子单元和计算单元子单元均设置有多个,且阵列提取子单元和计算子单元的设置数量相同;

各阵列提取子单元具体用于:按照提取规则,根据提取窗口,同时从行缓存器中提取数据阵列;其中,不同阵列提取子单元提取到的数据阵列包括的数据至少部分不同;

各计算子单元具体用于:按照预设算法,同时对数据阵列进行计算处理,得到计算结果后输出。

例如,如图6所示,图中示出了M个阵列提取子单元23和M个计算子单元24,其中,这M个阵列提取子单元23可以同时提取数据阵列,然后M个子计算子单元24可以同时对各数据阵列进行计算处理。

如此,可以进一步增加滤波处理的并行度,减少滤波处理时所消耗的时间,进一步提高特征点提取的效率。

当然,在设置M的数值时,不宜设置的较大,可以根据提取装置所能提供的资源大小、对处理速度的要求、以及对特征点提取的效率要求等因素,设置M的数值,在此并不限定。

下面结合具体实施例,对本发明实施例提供的上述提取装置的工作过程进行说明。

其中,以Harris/Shi-Tomasi算法为例,如图7所示,该算法可以包括:sobel滤波、构建协方差矩阵、盒式滤波、计算响应值、阈值判断、膨胀滤波以及非最大值抑制,通过这些步骤,可以将原始灰度图中的特征点提取出来最终得到特征点列表。

在进行sobel滤波时,需要对输入的数据分别进行水平方向的滤波和垂直方向的滤波,且这两个滤波过程是同时进行的;在进行盒式滤波时,需要对输入的三个数据分别进行滤波,且这三个滤波也是同时进行的。

并且,将用于执行sobel滤波的模块可以定义为sobel滤波模块,其中,将sobel滤波模块中用于执行水平方向的滤波处理的单元可以定义为水平滤波单元,将sobel滤波模块中用于执行垂直方向的滤波处理的单元可以定义为垂直滤波单元;将用于执行构建协方差矩阵的模块可以定义为构建模块;将用于执行盒式滤波的模块可以定义为盒式滤波模块,其中,将盒式滤波模块中用于执行对数据Gx

其中,sobel滤波模块、盒式滤波模块和膨胀滤波模块只是在计算子单元对数据阵列进行计算处理时存在不同,其他过程均类似。

结合图8所示,以待处理图像数据包括6个像素为例进行说明,各模块的具体执行过程可以包括:

第0级:

sobel滤波模块中的水平滤波单元和垂直滤波单元分别同时对第1个像素的数据进行滤波处理,然后将处理结果(记为Ls1)均传输至构建模块中;由于构建模块、盒式滤波模块、计算模块、判断模块、膨胀滤波模块和抑制模块在sobel滤波模块工作期间,均未接收到任何输入数据,所以此时构建模块、盒式滤波模块、计算模块、判断模块、膨胀滤波模块和抑制模块均不执行有效工作。

第1级:

在构建模块接收到sobel滤波模块输出的第1个像素的处理结果Ls1时,构建模块可以对第1个像素的处理结果Ls1进行处理,得到处理结果(记为G1),且该处理结果G1包括:Gx

同时,sobel滤波模块中的水平滤波单元和垂直滤波单元分别同时对第2个像素的数据进行滤波处理,然后将处理结果(记为Ls2)均传输至构建模块中。

第2级:

在盒式滤波模块中的第一滤波单元接收到第1个像素的处理结果Gx

在构建模块接收到sobel滤波模块输出的第2个像素的处理结果Ls2时,构建模块可以对第2个像素的处理结果Ls2进行处理,得到处理结果(记为G2),且该处理结果G2包括:Gx

同时,sobel滤波模块中的水平滤波单元和垂直滤波单元分别同时对第3个像素的数据进行滤波处理,然后将处理结果(记为Ls3)均传输至构建模块中。

同理,对于第3级至第11级而言,与上述情况类似,在此不再详述。

如此,通过上述过程,在提取待处理图像中的特征点时,所消耗的时间即为图8中黑点填充的各模块的执行时间的总和,实现了“业务流水线式”的工作模式;显然,与现有技术中每个模块在对全部像素的数据处理完之后再传输至下一个模块中的情况相比,大大缩短了特征点提取所消耗的时间,大大提高了特征点提取的效率。

需要说明的是,可选地,上述各模块在对接收到的结果进行处理时,各模块的处理时间是不同的,此时需要设置为:

需要同时进行处理工作的各模块的起始处理时间设置为相同;

同时进行处理工作的各模块中,最先完成处理工作的模块需要等待最后完成处理工作的模块完成处理工作后,再开始针对接收到的下一个数据进行处理工作。

例如,结合图8所示,以第4级为例,在这一级中,在执行工作的模块包括:sobel滤波模块、构建模块、盒式滤波模块、计算模块、以及判断模块,其中,sobel滤波模块用于执行对第5个像素的数据进行滤波处理,构建模块用于执行对第4个像素的滤波处理结果进行处理,盒式滤波模块用于执行对第3个像素对应的协方差矩阵结果进行处理,计算模块用于执行对第2个像素的滤波处理结果进行处理,判断模块用于执行对第1个像素的计算结果进行处理;

在图8中,每个模块对应的方块在M1方向上的长度存在着差异,这用于表示各模块的处理时间存在差异;如果“业务流水线式”的工作模块要求在每一级各模块需要同时开始工作时,那么需要通过业务协议对各模块进行控制和协调;

所以在图8所示的第4级中,各模块在M1方向上的长度从小到大依次为:判断模块、计算模块、构建模块、盒式滤波模块和Sobel滤波模块,那么:

判断模块在此级工作完之后,不会立刻进入下一级的处理,而处于等待阶段,等待此级中工作时间最长的Sobel滤波模块完成工作之后再进入下一级;

同理,计算模块、构建模块和盒式滤波模块在此级工作完之后,同样不会立刻进入下一级的处理,而处于等待阶段,等待此级中工作时间最长的Sobel滤波模块完成工作之后再进入下一级。

如此,可以保证在同级处理时各模块可以同时开始工作,避免各模块的工作出现混乱,以降低特征点提取时出现的误差。

基于同一发明构思,本发明实施例提供了一种图像中特征点的提取方法,该提取方法的实现原理与前述一种提取装置的实现原理类似,该提取方法的具体实施方式可参见前述提取方法的具体实施例,重复之处不再赘述。

具体地,本发明实施例提供的一种图像中特征点的提取方法,如图9所示,可以包括:

S901、滤波模块依次对待处理图像数据中每个像素的数据进行滤波处理,并在完成对任一像素的数据的滤波处理时,将该像素的滤波处理结果输出至提取模块;

S902、提取模块提取该像素的滤波处理结果中的特征点,并将该像素的提取结果输出。

可选地,在本发明实施例中,在滤波模块包括:多个滤波单元时,在完成对任一像素的数据的滤波处理时,将该像素的滤波处理结果输出至提取模块,具体包括:

各滤波单元同时对任一像素的数据进行滤波处理,并同时将该像素的滤波处理结果传输至提取模块。

可选地,在本发明实施例中,对任一像素的数据的滤波处理,具体包括:

数据读取子单元从待处理图像数据中依次读取各像素的数据,并按照预设的存储规则,将读取到的数据依次存入至行缓存器中;

阵列提取子单元按照预设的提取规则,根据预设的提取窗口,从行缓存器中提取数据阵列;

计算子单元按照预设算法对数据阵列进行计算处理,得到计算结果后输出;其中,计算结果为:数据阵列的中心位置的数据对应的计算结果。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号