CN110503602B - 一种图像的投影变换方法、装置及电子设备 - Google Patents

一种图像的投影变换方法、装置及电子设备 Download PDF

Info

Publication number
CN110503602B
CN110503602B CN201810481563.5A CN201810481563A CN110503602B CN 110503602 B CN110503602 B CN 110503602B CN 201810481563 A CN201810481563 A CN 201810481563A CN 110503602 B CN110503602 B CN 110503602B
Authority
CN
China
Prior art keywords
pixel
row
cache
interpolated
partition
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
CN201810481563.5A
Other languages
English (en)
Other versions
CN110503602A (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.)
Hangzhou Hikmicro Sensing Technology Co Ltd
Original Assignee
Hangzhou Hikmicro Sensing 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 Hangzhou Hikmicro Sensing Technology Co Ltd filed Critical Hangzhou Hikmicro Sensing Technology Co Ltd
Priority to CN201810481563.5A priority Critical patent/CN110503602B/zh
Publication of CN110503602A publication Critical patent/CN110503602A/zh
Application granted granted Critical
Publication of CN110503602B publication Critical patent/CN110503602B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/20Linear translation of whole images or parts thereof, e.g. panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

本发明实施例提供了一种图像的投影变换方法、装置及电子设备。方法包括:针对待生成图像中当前位置的待插值像素点,确定待插值像素点在源图像中对应的映射点的映射坐标;根据映射坐标,确定包括映射点在内的像素区域,作为映射点的邻域,其中,与待插值像素点所属像素行对应的源图像中的N个像素行的像素值保存在缓存中,缓存包括N个带有分区标识的缓存分区,并且每个缓存分区用于保存N个像素行中的一个像素行的像素值;从分区标识与邻域中各个像素点的行坐标相匹配的缓存分区中,读取邻域中各个像素点的像素值;根据邻域中各个像素点的像素值,插值确定待插值像素点的像素值。可以使得处理器精确地从缓存中找到需要的像素值。

Description

一种图像的投影变换方法、装置及电子设备
技术领域
本发明涉及双光谱图像处理技术领域,特别是涉及一种图像的投影变换方法、装置及电子设备。
背景技术
热成像图像传感器可以根据接收到的热辐射光信号,生成包含有温度信息的热成像图像。由于热成像图像中包含的图像细节相较于可见光图像较少,例如,等温表面上的文字在热成像图像中难以识别。在一些使用场景下,例如在车载辅助驾驶系统中,为了能够同时在一幅图像中包含温度信息和丰富的图像细节,热成像摄像机上可以同时配备可见光镜头和可见光图像传感器,用以获取可见光图像,并将获取到的可见光图像与热成像图像融合,这类摄像机称为热成像双光谱摄像机。在一种常见的热成像双光谱摄像机中,可见光镜头的光轴被设计为与热成像镜头的光轴平行,此时拍摄得到的可见光图像和热成像图像之间,理论上只存在一个偏移量,可以通过简单的平移和缩放实现配准。但是由于热成像双光谱摄像机在制造和装配过程中存在误差,因此可见光镜头的光轴和热成像镜头的光轴之间并非绝对平行,而是存在一个夹角。该夹角导致拍摄得到的可见光图像和热成像图像,存在一个相对的偏转量,在配准可见光图像和热成像图像时,需要对该偏转量进行补偿。具体的,可以是根据可见光图像和热成像图像之间相对的偏转量和偏移量,计算得到一个投影变换矩阵。利用该投影变化矩阵,以可见光图像为源图像,进行投影变换处理,得到与缩放后的热成像图像相配准的目的图像。
可以理解的是,目的图像中的一个像素行,对应于源图像中的一个斜线,该斜线可能跨越了源图像中的N个像素行,因此为了完成待生成的目的图像中的一个像素行的像素值的计算,需要使用到源图像中N个像素行中的像素值,为了加快处理器的运算速率,可以在计算待生成的目的图像中一个像素行的像素值之前,预先从外部存储器中,将与该像素行对应的源图像中的N个像素行的像素值加载至处理器的缓存中。
现有技术中,处理器从缓存中读取源图像中某一个像素点的像素值时,可以是根据该像素点在缓存中保存的像素点中的顺位,确定该像素点的像素值的存储位置,并从该存储位置读取该像素点的像素值。但是,如果缓存中N个像素行没有按照预设的顺序进行存储,处理器可能从缓存中读取到错误地像素值。
发明内容
本发明实施例的目的在于提供一种图像的投影变换方法,以使得处理器精确地从缓存中找到需要的像素值。具体技术方案如下:
在本发明实施例的第一方面,提供了一种图像的投影变换方法,所述方法包括:
针对待生成图像中当前位置的待插值像素点,确定所述待插值像素点在源图像中对应的映射点的映射坐标;
根据所述映射坐标,确定包括所述映射点在内的像素区域,作为所述映射点的邻域,其中,与所述待插值像素点所属像素行对应的所述源图像中的N个像素行的像素值保存在缓存中,所述缓存包括N个带有分区标识的缓存分区,并且每个缓存分区用于保存所述N个像素行中的一个像素行的像素值,其中,所述分区标识用于表示该缓存分区所保存的像素值所属像素行的行坐标;
从分区标识与所述邻域中各个像素点的行坐标相匹配的缓存分区中,读取所述邻域中各个像素点的像素值;
根据所述邻域中各个像素点的像素值,按照预设的插值公式,确定所述待插值像素点的像素值。
结合第一方面,在第一种可能的实施例中,所述待生成图像的第一个当前位置的待插值像素点为,所述待生成图像中第一个像素行的第一个像素点;
在所述根据所述邻域中各个像素点的像素值,按照预设的插值公式,确定所述待插值像素点的像素值之后,所述方法还包括:
确定所述待插值像素点,是否为所属像素行的最后一个像素点;
如果所述待插值像素点,不是所属像素行的最后一个像素点,将所属像素行中,所述待插值像素点的下一个像素点作为当前的待插值像素点,并返回执行所述确定所述待插值像素点在源图像中对应的映射点的映射坐标的步骤;
如果所述待插值像素点,是所属像素行的最后一个像素点,确定所属像素行是否为所述待生成图像中的最后一个像素行;
如果所属像素行不是所述待生成图像的最后一个像素行,将所属像素行的下一个像素行的第一个像素点作为当前的待插值像素点,并返回执行所述确定所述待插值像素点在源图像中对应的映射点的映射坐标的步骤;
如果所属像素行是所述待生成图像的最后一个像素行,确定已经得到所述待生成图像中所有像素点的像素值。
结合第一方面,在第二种可能的实施例中,所述分区标识为,与该缓存分区所保存的像素值的所属像素行的相对行坐标对应的编号,其中,相对行坐标为相对所述待插值像素点所属像素行的第一个像素点,在源图像中对应的映射点的行坐标。
结合第一方面,在第三种可能的实现方式中,所述邻域为一由所述源图像中,包括所述映射点在内的相邻的四个像素点组成的2*2像素区域。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述N个带有分区标识的缓存分区中,每个缓存分区被划分为第一缓存子区和第二缓存子区,其中,第一缓存子区用于存储该缓存分区中所属像素点的列坐标为奇数的像素值,第二缓存子区用于存储该缓存分区中所属像素点的列坐标为偶数的像素值;
所述缓存包括第一缓存块,第二缓存块,第三缓存块以及第四缓存块,其中,所述第一缓存块包括分区标识所表示的行坐标为奇数的缓存分区的第一缓存子区,所述第二缓存块包括分区标识所表示的行坐标为奇数的缓存分区的第二缓存子区,所述第三缓存块包括分区标识所表示的行坐标为偶数的缓存分区的第一缓存子区,所述第四缓存块包括分区标识所表示的行坐标为偶数的缓存分区的第二缓存子区。
结合第一方面的第一种可能的实现方式,在第五种可能的实现方式中,在所述确定所述待插值像素点在源图像中对应的映射点的映射坐标之后,所述方法还包括:
如果所述待插值像素点是所属像素行的第一个像素点,且所属像素行不是所述待生成图像中的第一个像素行,确定与所述待插值像素点所属像素行对应的所述源图像中的N个像素行是否发生变化;
如果所述N个像素行发生变化,确定待加载像素行,其中所述待加载像素行为,所述N个像素行中尚未保存至所述缓存中的像素行;
保留所述N个像素行中已经保存至所述缓存中的像素行的像素值;
将所述待加载像素行的像素值保存至所述缓存中的R个缓存分区,其中R为所述待加载像素行的数目;
分别将所述R个缓存分区的分区标识设置为,与该缓存分区所保存的像素值所属像素行的行坐标相对应的分区标识。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述确定待加载像素行,包括:
获取所述待插值像素点所属像素行的上一个像素行中的第一个像素点在所述源图像中的映射点的行坐标,与所述映射坐标中的行坐标的差值ΔY1
将所述源图像中第L行后的ΔY1个像素行,确定为待加载像素行,其中第L行为所述N个像素行中行坐标最大的像素行。
结合第一方面的第一种可能的实现方式,在第七种可能的实现方式中,所述缓存还包括多个预留分区;
在所述确定所述待插值像素点在源图像中对应的映射点的映射坐标之后,所述方法还包括:
如果所述待插值像素点,是所属像素行的第一个像素点,且所属像素行不是所述待生成图像中的最后一个像素行,确定所述待插值像素点所属像素行的下一个像素行的第一个像素点在所述源图像中对应的映射点的行坐标,与所述映射坐标中的行坐标的差值ΔY2
如果ΔY2大于0,且小于等于所述多个预留分区的数目,将所述源图像中第L行后的ΔY2个像素行中的像素值,分别保存至所述多个预留分区中的ΔY2个预留分区,并且每个预留分区保存一个像素行中的像素值,其中,第L行为所述N个像素行中行坐标最大的像素行。
结合第一方面,在第八种可能的实现方式中,所述确定所述待插值像素点在源图像中对应的映射点的映射坐标,包括:
分别按照下式计算得到所述映射点的行坐标Y1和列坐标X1
Figure BDA0001666002710000051
Figure BDA0001666002710000052
Figure BDA0001666002710000053
Figure BDA0001666002710000054
其中,m11、m12、m13、m14、m21、m22、m23、m24为预设的投影变换矩阵的矩阵参数,row为所述待插值像素点的行坐标,col为所述待插值像素点的列坐标,src_hsize为所述源图像的行数,src_vsize为所述源图像的列数,
Figure BDA0001666002710000055
表示向下取整,l、r为两个预设的正整数,<<表示左移运算符,>>表示右移运算符。
在本发明实施例的第二方面,提供了一种图像的投影变换转置,所述装置包括:
映射模块,用于针对待生成图像中当前位置的待插值像素点,确定待插值像素点在源图像中对应的映射点的映射坐标;
邻域确定模块,用于根据所述映射坐标,确定包括所述映射点在内的像素区域,作为所述映射点的邻域,其中,与所述待插值像素点所属像素行对应的所述源图像中的N个像素行的像素值保存于缓存中,所述缓存包括N个带有分区标识的缓存分区,并且每个缓存分区用于保存所述N个像素行中的一个像素行的像素值,其中,所述分区标识用于表示该缓存分区所保存的像素值所属像素行的行坐标;
数据读取模块,用于从分区标识与所述邻域中各个像素点的行坐标相匹配的缓存分区中,读取邻域中各个像素点的像素值;
插值模块,用于根据邻域中各个像素点的像素值,按照预设的插值公式,确定待插值像素点的像素值。
结合第二方面,在第一种可能的实现方式中,所述待生成图像的第一当前位置的待插值像素点为,所述待生成图像中第一个像素行的第一个像素点;
所述映射模块,在所述确定所述待插值像素点的像素值之后,还用于:
确定所述待插值像素点,是否为所属像素行的最后一个像素点;
如果所述待插值像素点,不是所属像素行的最后一个像素点,将所属像素行中,所述待插值像素点的下一个像素点作为当前的待插值像素点,并返回执行所述确定所述待插值像素点在源图像中对应的映射点的映射坐标的步骤;
如果所述待插值像素点,是所属像素行的最后一个像素点,确定所属像素行是否为所述待生成图像中的最后一个像素行;
如果所属像素行不是所述待生成图像的最后一个像素行,将所属像素行的下一个像素行的第一个像素点作为当前的待插值像素点,并返回执行所述确定所述待插值像素点在源图像中对应的映射点的映射坐标的步骤;
如果所属像素行是所述待生成图像的最后一个像素行,确定已经得到所述待生成图像中所有像素点的像素值。
结合第二方面,在第二种可能的实现方式中,所述分区标识为,与该缓存分区所保存的像素值的所属像素行的相对行坐标对应的编号,其中,相对行坐标为相对所述待插值像素点所属像素行的第一个像素点,在源图像中对应的映射点的行坐标。
结合第二方面,在第三种可能的实现方式中,所述邻域为一由所述源图像中,包括所述映射点在内的相邻的四个像素点组成的2*2像素区域。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述N个带有分区标识的缓存分区中,每个缓存分区被划分为第一缓存子区和第二缓存子区,其中,第一缓存子区用于存储该缓存分区中所属像素点的列坐标为奇数的像素值,第二缓存子区用于存储该缓存分区中所属像素点的列坐标为偶数的像素值;
所述缓存包括第一缓存块,第二缓存块,第三缓存块以及第四缓存块,其中,所述第一缓存块包括分区标识所表示的行坐标为奇数的缓存分区的第一缓存子区,所述第二缓存块包括分区标识所表示的行坐标为奇数的缓存分区的第二缓存子区,所述第三缓存块包括分区标识所表示的行坐标为偶数的缓存分区的第一缓存子区,所述第四缓存块包括分区标识所表示的行坐标为偶数的缓存分区的第二缓存子区。
结合第二方面的第一种可能的实现方式,在第五种可能的实现方式中,所述装置还包括更新模块,所述更新模块包括:
检测单元,用于在所述确定所述待插值像素点在源图像中对应的映射点的映射坐标之后,如果所述待插值像素点是所属像素行的第一个像素点,且所属像素行不是所述待生成图像中的第一个像素行,确定与所述待插值像素点所属像素行对应的所述源图像中的N个像素行是否发生变化;如果所述N个像素行发生变化,确定待加载像素行,其中所述待加载像素行为,所述N个像素行中尚未保存至所述缓存中的像素行;
数据管理单元,用于保留所述N个像素行中已经保存至所述缓存中的像素行的像素值;
数据加载单元,用于将所述待加载像素行的像素值保存至所述缓存中的R个缓存分区,其中R为所述待加载像素行的数目;
分区控制单元,用于分别将所述R个缓存分区的分区标识设置为,与该缓存分区所保存的像素值所属像素行的行坐标相对应的分区标识。
结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述数据加载单元,具体用于获取所述待插值像素点所属像素行的上一个像素行中的第一个像素点在所述源图像中的映射点的行坐标,与所述映射坐标中的行坐标的差值ΔY1
将所述源图像中第L行后的ΔY1个像素行,确定为待加载像素行,其中第L行为所述N个像素行中行坐标最大的像素行。
结合第二方面的第一种可能的实现方式,在第七种可能的实现方式中,所述缓存还包括多个预留分区;
所述装置还包括预加载模块,用于如果所述待插值像素点,是所属像素行的第一个像素点,且所属像素行不是所述待生成图像中的最后一个像素行,确定所述待插值像素点所属像素行的下一个像素行的第一个像素点在所述源图像中对应的映射点的行坐标,与所述映射坐标中的行坐标的差值ΔY2
如果ΔY2大于0,且小于等于所述多个预留分区的数目,将所述源图像中第L行后的ΔY2个像素行中的像素值,分别保存至所述多个预留分区中的ΔY2个预留分区,并且每个预留分区保存一个像素行中的像素值,其中,第L行为所述N个像素行中行坐标最大的像素行。
结合第二方面,在第八种可能的实现方式中,所述映射模块,具体用于分别按照下式计算得到所述映射点的行坐标Y1和列坐标X1
Figure BDA0001666002710000081
Figure BDA0001666002710000082
Figure BDA0001666002710000083
Figure BDA0001666002710000084
其中,m11、m12、m13、m14、m21、m22、m23、m24为预设的投影变换矩阵的矩阵参数,row为所述待插值像素点的行坐标,col为所述待插值像素点的列坐标,src_hsize为所述源图像的行数,src_vsize为所述源图像的列数,
Figure BDA0001666002710000085
表示向下取整,l、r为两个预设的正整数,<<表示左移运算符,>>表示右移运算符。
在本发明实施例的第三方面,提供了一种电子设备,所述电子设备包括:
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,上述任一所述的图像的投影变换方法步骤。
在本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的图像的投影变换方法步骤。
本发明实施例提供的图像的投影变换方法、装置及电子设备,可以基于邻域插值法,通过对缓存的分区以及针对每个缓存分区设置标识,利用分区标识记录该缓存分区所保存的像素值所属像素行的行坐标,即使缓存中N个像素行没有按照顺序存储,处理器也可以根据分区标识准确的找到需要的像素值。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的图像的投影变换方法的一种流程示意图;
图2为本发明实施例提供的图像的投影变换方法的另一种流程示意图;
图3为本发明是是提供的缓存分区的一种示意图;
图4为本发明实施例提供的图像的投影变换方法的另一种流程示意图;
图5为本发明实施例提供的图像的投影变换方法的另一种流程示意图;
图6a为本发明实施例提供的图像的投影变换装置的一种结构示意图;
图6b为本发明实施例提供的图像的投影变换装置的另一种结构示意图;
图7为本发明实施例提供的图像的投影变换电子设备的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1所示为本发明实施例提供的图像的投影变换方法的一种流程示意图,可以包括:
S101,针对待生成图像中当前位置的待插值像素点,确定待插值像素点在源图像中对应的映射点的映射坐标。
其中,源图像为待进行投影变换的图像,待生成图像为对源图像进行投影变换后可以得到的图像。待插值像素点为待生成图像中像素值待确定的一个像素点,在本实施例中,该像素点的像素值是由源图像中多个像素点插值得到的。可以理解的是,由于待生成图像是由源图像经过投影变换得到的,因此源图像的像素点与待生成图像之间的像素点存在一个映射关系,该映射关系可以是用投影变换矩阵表示的。
具体的,在本实施例中,可以是获取待插值像素点在待生成图像中的像素坐标,将该像素坐标与投影变换矩阵进行矩阵乘法,对得到的结果取整,作为待插值像素点在源图像中对应的映射点的映射坐标。其中,投影变换矩阵可以是通过预先标定的方式得到的,示例性的,假设希望将双光谱热成像摄像机拍摄得到的可见光图像通过投影变换,实现与经过缩放后的双光谱热成像摄像机拍摄得到的热成像图像配准,可以是在可见光图像中标定出四个标记点,并在经过缩放后的热成像图像中标定出与该四个标记点对应的四个映射点,利用数学软件,根据这四个标记点和对应的四个映射点确定出投影变换矩阵。
在一种可选的实施例中,可以是分别按照下式计算得到映射点的行坐标Y1和列坐标X1
Figure BDA0001666002710000101
Figure BDA0001666002710000102
Figure BDA0001666002710000103
Figure BDA0001666002710000104
其中,m11、m12、m13、m14、m21、m22、m23、m24为预设的投影变换矩阵的矩阵参数,row为待插值像素点的行坐标,col为待插值像素点的列坐标,src_hsize为源图像的行数,src_vsize为源图像的列数,
Figure BDA0001666002710000111
表示向下取整,l、r为两个预设的正整数,<<表示左移运算符,>>表示右移运算符,U、V分别为待插值像素点在源图像中对应的映射坐标在取整前的行坐标和列坐标。在本实施例中,各种数值是以二进制形式表示的,例如待插值像素点的行坐标等于十进制的6,则是以二进制的110表示的,左移运算符用于将一个数的二进制位全部左移若干位,示例性的,110.01<<2=11001,同理右移运算符用于将一个数的二进制位全部右移若干位,示例性的,11001>>2=110.01。本实施例中,在计算U和V时对分子进行了左移,分母进行了右移,使得向下取整运算后保留得到的U和V中可能保留的有效位数更多,以U的计算为例,假设m11·row+m12·col+m13等于二进制的110.01,m14等于二进制的1,如果不使用左移运算符和右移运算符,则计算得到的U为二进制的110,当按照本实施例中的方法计算U,并且l=2,r=1时,计算得到的U为二进制的110010,可见相比于不使用左移运算符和右移运算符的情况,得到的U的有效位数更多,即U的计算结果更加精确,可以理解的是,根据更加精确的U和V,可以计算得到更加准确的映射坐标。
S102,根据映射坐标,确定包括映射点在内的像素区域,作为映射点的邻域。
其中,与待插值像素点所属像素行对应的源图像中的N个像素行的像素值保存在缓存中,该缓存包括N个带有分区标识的缓存分区,并且每个缓存分区用于保存这N个像素行中的一个像素行的像素值。
待插值像素点所属像素行对应的源图像中的N个像素行,在本实施例在中,可以是待插值像素点所属像素行的第一个像素点,在源图像中对应的映射点所属像素行的前后各多个像素行,共计N个像素行。可以理解的是,待生成图像中的一个像素行,对应于源图像中的一个斜线,该斜线在源图像可能跨越多个像素行,具体取决于双光谱热成像摄像机中热成像镜头的光轴,和可见光镜头的光轴之间的夹角的最大公差,该公差越大,斜线可能跨越的像素行的数目越多。以最大公差为12.5mrad为例,可能跨越的像素行为16行,因此为了保证该斜线位于N个像素行中,可以是将待插值像素点所属像素行的第一个像素点,在源图像中对应的映射点所属像素行的前后16个像素行,共计32个像素行作为,与待插值像素点所属像素行对应的源图像中的N个像素行。
一个缓存分区的分区标识,用于表示该缓存分区所保存的像素值所属像素行的行坐标,可以理解为一个缓存分区的分区标识,和该缓存分区所保存的像素值所属像素行的行坐标,存在映射关系。具体的,缓存分区的分区标识,可以是一个编号,并且该编号可以等于该缓存分区中所保存的像素值所属像素行的行坐标,例如一缓存分区中保存的是源图像中行坐标为32的像素行中的像素值,则该缓存分区的标识可以为编号32。
在一种可选的实施例中,分区标识可以为,与该缓存分区所保存的像素值的所属像素行的相对行坐标对应的编号。其中,相对行坐标为相对待插值像素点的映射点的行坐标,示例性的,假设待插值像素点的映射点的行坐标为15,则在源图像中行坐标为18的像素行的相对行坐标为3。
为方便讨论,假设在计算待生成图像中第j个像素行的像素值时,缓存中保存有源图像中行坐标为1-32的32个像素行的像素值,其中j为正整数,假设待生成图像中第j个像素行的第一个像素点,在源图像中的映射点的行坐标为16,则缓存中所保存的32个像素行的相对行坐标分别为-15-16。在完成待生成图像中第j个像素行的像素值的计算后,假设待生成图像中第j+1个像素行的第一个像素点,在源图像中的映射点的行坐标为17,此时为了完成待生成图像中第j+1个像素行的像素值的计算,需要在缓存中保存源图像中行坐标为2-33的32个像素行,可见在计算待生成图像中第j+1个像素行的像素值时,缓存中保存的32个像素行的相对行坐标,仍为-15-16。因此,选用该实施例,可以将缓存分区的分区标识控制在固定的多个编号内,在上述所举例子中,即可以将缓存分区的分区标识控制在与-15-16对应的32个编号内,便于缓存分区的管理。
像素区域是指源图像中多个像素点组成的一个区域,示例性的,可以是16个像素点以4*4的排列方式组成的一个方形区域。可以理解的是,假设待插值像素点的像素坐标为(10,10),则经过投影变换矩阵的计算得到的结果在经过取整之前大概率存在小数部分,例如可能为(15.37,16.72),因此为了保证能够准确得到待插值像素点的像素值,不能直接使用源图像中某一个像素点的像素值作为待插值像素点的像素值,而应当使用包括映射点在内的邻域中各个像素点的像素值进行插值,以得到待插值像素点准确的像素值。
在一种可选的实施例中,邻域为一由源图像中,包括映射点在内的相邻的四个像素点组成的2*2像素区域。示例性的,假设本实施例中在计算映射坐标时,对待插值像素点经过投影矩阵运算得到的结果使用了向下取整,并且映射坐标为(15,16),则邻域由以下四个像素点组成:(15,16)、(15,17),(16,16)(16,17),假设本实施例中在计算映射坐标时,对待插值像素点经过投影矩阵运算得到的结果使用了向下取整,并且映射坐标为(15,16)则邻域由以下四个像素点组成(14,15)(14,16)(15,15)(15,16)。可以理解的是,本实施例中,这四个像素点组成的2*2区域,是包括映射点在内的最小方形像素区域,而方形像素区域可以实现在行方向和列方向同时插值,以提高后续步骤中插值得到的待插值像素点的像素值的准确性,如果选用其他尺寸的方形像素区域,例如包括映射点在内的4*4像素区域作为邻域,相比2*2像素区域,插值时需要运算量更大。因此,选用本实施例,可以在保证待插值像素点的像素值的准确性的前提下,有效地降低运算量。
S103,从分区标识与邻域中各个像素点的行坐标相匹配的缓存分区中,读取邻域中各个像素点的像素值。
示例性的,假设邻域中包括四个像素点,像素坐标分别为(15,16)、(15,17),(16,16)(16,17),在缓存中找到分区标识与行坐标15和行坐标16对应的两个缓存分区,分别从中读取到这四个像素点的像素值。可以理解的是,图像传感器是按行进行扫描的,因此得到的图像数据也是按行进行存储的,因此在找到像素点所属像素行的像素值存储的位置时,可以根据该像素点的列坐标进一步找到该像素点的像素值存储的位置。
S104,根据邻域中各个像素点的像素值,按照预设的插值公式,确定待插值像素点的像素值。
对于不同的邻域选取方式,对应于不同的插值公式。具体的,以2*2的邻域为例,为方便讨论,假设邻域中四个像素点的坐标分别为,(u0,v0),(u0,v1),(u1,v0),(u1,v1),其中,(u0,v0)为待插值像素点在源图像中对应的映射点的映射坐标,u1=u0+1,v1=v0+1,可以是按照下式分别计算行插值系数mh,和列插值系数mv:
mh=U-v0
mv=V-u0
其中,U、V分别为待插值像素点在源图像中对应的映射坐标在取整前的行坐标和列坐标。再根据下式计算得到待插值像素点的行插值h_value0和h_value1:
h_value0=(pix00+mh×(pix01-pix00))
h_value1=(pix10+mh×(pix11-pix10))
其中,pix00为点(u0,v0)的像素值,pix01为点(u0,v1)的像素值,pix10为点(u1,v0)的像素值,pix11为点(u1,v1)的像素值。在根据下式,进行列插值,得到待插值像素点的像素值data:
data=h_value0+mv×(h_value1-h_value0)+0.5。
选用该实施例,可以基于邻域插值法,通过对缓存的分区以及针对每个缓存分区设置标识,利用分区标识记录该缓存分区所保存的像素值所属像素行的行坐标,处理器可以根据分区标识准确的找到需要的像素值。故在需要加载新的数据至缓存中时,可以不用按顺序存储这些像素值,只需要将新的数据加载至缓存区中即可,无需重新加载所有像素值,因此可以在占用内存带宽较小的情况下,实现可见光图像和热成像图像的实时配准。
参见图2,图2所示为本发明实施例提供的图像的投影变换方法的另一种流程示意图,可以包括:
S201,针对待生成图像中当前位置的待插值像素点,确定待插值像素点在源图像中对应的映射点的映射坐标。
其中,待生成图像中的第一个当前位置的待插值像素点为,待生成图像中的第一个像素行的第一像素点。第一个当前位置,是指待生成图像中没有任何像素点的像素值完成插值计算时的当前位置。具体的,可以参见前述关于S101的描述,在此不再赘述。
S202,根据映射坐标,确定包括映射点在内的像素区域,作为映射点的领域。
其中,与待插值像素点所属像素行对应的源图像中的N个像素行的像素值保存在缓存中,缓存包括N个带有分区标识的缓存分区,并且每个缓存分区用于保存N个像素行中的一个像素行的像素值,其中,分区标识用于表示该缓存分区所保存的像素值所属像素行的行坐标。具体的,该步骤与S102相同,可以参见前述关于S102的描述,在此不再赘述。
S203,从分区标识与邻域中各个像素点的行坐标相匹配的缓存分区中,读取邻域中各个像素点的像素值。
具体的,该步骤与S103相同,可以参见前述关于S103的描述,在此不再赘述。
S204,根据邻域中各个像素点的像素值,按照预设的插值公式,确定待插值像素点的像素值。
具体的,该步骤与S104相同,可以参见前述关于S104的描述,在此不再赘述。
S205,确定待插值像素点,是否为所属像素行的最后一个像素点。如果待插值像素点是所属像素行的最后一个像素点,执行S207,如果待插值像素点不是所属像素行的最后一个像素点,执行S206。
具体的,假设待生成图像中每个像素行有1080个像素点,每行第一个像素点对应的列坐标为0,可以是判断待插值像素点的列坐标是否为1079,如果待插值像素点的列坐标为1079,则确定待插值像素点是所属像素行的最后一个像素点,如果待插值像素点的列坐标不为1079,则确定待插值像素点不是所属像素行的最后一个像素点。
S206,将所属像素行中,待插值像素点的下一个像素点作为当前的待插值像素点,并返回执行S201。
具体的,假设待插值像素点的列坐标为50,则将待插值像素点所属像素行中列坐标为51的像素点,作为当前的待插值像素点,并返回执行S201。
S207,确定所属像素行是否为待生成图像中的最后一个像素行,如果所属像素行不是待生成图像的最后一个像素行,执行S208,如果像素行是待生成图像的最后一个像素行,确定已经得到待生成图像中所有像素点的像素值。
具体的,假设待生成图像中共有1920个像素行,并且第一个像素行的行坐标为0,则可以是判断待插值像素点的行坐标是否为1919,如果待插值像素点的行坐标为1919,则确定所属像素行是待生成图像的最后一个像素行,如果待插值像素点的行坐标不为1919,则确定所属像素行不是待生成图像的最后一个像素行。
可以理解的是,由于本实施例中是从待生成图像中的第一个像素行的第一个像素点开始,逐行逐个确定待生成图像中的像素点的像素值的,因此在确定完待生成图像中的最后一个像素行中的最后一个像素点后,实际上待生成图像中的所有像素点的像素值均已确定,即完成了针对源图像的投影变换。
S208,将所属像素行的下一个像素行的第一个像素点作为当前的待插值像素点,并返回执行S201。
具体的,假设待插值像素点的行坐标为60,将行坐标为61的像素行中的第一个像素点作为当前的待插值像素点,并返回执行S201。
选用该实施例,是从待生成图像中的第一个像素行的第一个像素点开始,按照顺序逐行逐个确定待生成图像中的像素点的像素值的。相比于其他确定顺序,更容易被实现。
在一种可选的实施例中,基于邻域为包括映射点在内的相邻的四个像素点组成的2*2像素区域的情况下,参见图3,缓存由四个缓存块组成,分别为第一缓存块310,第二缓存块320,第三缓存块330,以及第四缓存块340。
第一缓存块310中包括,分区标识所表示的行坐标为奇数的缓存分区中的第一缓存子区,其中,第一缓存子区为缓存分区中,用于存储该缓存分区中所属像素点的列坐标为奇数的像素值的一个子区,第一缓存块310中每个第一缓存子区中的数字为该第一缓存子区所属缓存分区的分区标识,n为一正整数。示例性的,假设N=32,N个像素行分别为源图像中的第1-32像素行,并且32个缓存分区的分区标识为所保存的像素值所属的像素行的行坐标,例如保存第1像素行的缓存分区的分区标识为1,为方便讨论记为第1缓存分区,则第一缓存块310中包括第1、3、5、7、9、11、13、15、17、19、21、23、25、27、29、31缓存分区的第一缓存子区。
第二缓存块320中包括,分区标识所表示的行坐标为奇数的缓存分区的第二缓存子区,其中,第二缓存子区为缓存分区中,用于存储该缓存分区中所属像素点的列坐标为偶数的像素值的一个子区,可以理解的是,第二缓存模块320中对应的分区标识为1的第二缓存分区,与第一缓存块310中对应分区标识为1的第一缓存子区,同属于第1缓存分区。进一步的,当需要将源图像中的第33像素行加载至缓存,并从缓存中删除源图像中的第1像素行的像素值时,可以是将第33像素行中列坐标为奇数的像素点的像素值保存至,第一缓存块中的一个空白子区中,将该空白子区作为第33缓存分区的第一缓存子区,将第33像素行中列坐标为偶数的像素点的像素值保存至,第二缓存块中的一个空白子区中,将该空白子区作为第33缓存分区的第二缓存子区,将第33缓存分区的分区标识设置为与33对应的分区标识,并将第1缓存分区中的第一缓存子区作为第一缓存块中新的空白子区,将第1缓存分区中的第二缓存子区作为第二缓存块中新的空白子区。
第三缓存块330中包括,分区标识所表示的行坐标为偶数的缓存分区的第一缓存子区。第四缓存模块340中包括,分区标识所表示的行坐标为偶数的缓存分区的第二缓存子区。
按照上述的缓存的分区情况,源图像中奇数行奇数列的像素点的像素值会被存储于第一缓存块310中,源图像中奇数行偶数列的像素点的像素值会被存储于第二缓存块320中,源图像中偶数行奇数列的像素点的像素值会被存储于第三缓存块330中,源图像中偶数行偶数列的像素点的像素值会被存储于第四缓存块340中。而在邻域为包括映射点在内的相邻的四个像素点组成的2*2像素区域的情况,邻域中的四个像素点必然,一个位于奇数行奇数列,一个位于奇数行偶数列,一个位于偶数行奇数列,一个位于偶数行偶数列。因此,第一缓存块310、第二缓存块320、第三缓存块330以及第四缓存块340中的每个缓存块中,必然存储有邻域中一个像素点的像素值。故,可以分别从这四个缓存块中,以每个缓存块读取一个的方式,读取到邻域中四个像素点的像素值。可以理解的是,如果将源图像中的像素值存储于一个缓存块中,读取四个像素值,需要四个读取周期,因此选用该实施例,可以通过四个缓存块实现在一个读取周期内并行地读取到邻域中的像素值,有效的缩短了读取像素值的耗时。
参见图4,图4所示为本发明实施例提供的图像的投影变换方法的另一种流程示意图,可以包括:
S401,针对待生成图像中当前位置的待插值像素点,确定待插值像素点在源图像中对应的映射点的映射坐标。
该步骤与S201相同,可以参见前述关于S201的描述,在此不再赘述。
S402,确定待插值像素点是否为所属像素行的第一个像素点,并且所属像素行是否为待生成图像中的第一个像素行,如果待插值像素点是所属像素行的第一个像素点,并且所属像素行是待生成图像中的第一个像素行,则执行S403,如果待插值像素点不是所属像素行的第一个像素点,或者所属像素行不是待生成图像中的第一个像素行,则执行S407。
S403,确定待插值像素点所属像素行对应的源图像中的N个像素行是否发生变化,如果待插值像素点所属像素行对应的源图像中的N个像素行发生变化,执行S404,如果待插值像素点所属像素行对应的源图像中的N个像素行没有发生变化,执行S407。
示例性的,假设待插值像素点所属像素行对应的源图像中的N个像素行为,源图像中的第2-32像素行,而上一个待插值像素点所属像素行对应的源图像中的N个像素行为第1-31像素行,此时确定待插值像素点所属像素行对应的源图像中的N个像素行发生变化。假设待插值像素点所属像素行对应的源图像中的N个像素行为,源图像中的第1-32像素行,而上一个待插值像素点所属像素行对应的源图像中的N个像素行同样为第1-31像素行,此时确定待插值像素点所属像素行对应的源图像中的N个像素行没有发生变化。
S404,确定待加载像素行。
其中,待加载像素行为,待插值像素点所属像素行在源图像中对应的N个像素行中尚未保存至缓存中的像素行。例如,待插值像素点所属像素行在源图像中对应的N个像素行为第2-33像素行,缓存中保存的为第1-32像素行,则待加载像素行为第33像素行。
在一种可选的实施例中,可以具体包括获取待插值像素点所属像素行的上一个像素行中的第一个像素点在源图像中的映射点的行坐标,与待插值像素点在源图像中对应的映射坐标中的行坐标的差值ΔY1,将源图像中第L行后的ΔY1各像素行,确定为待加载像素行,其中第L行为缓存中保存的N个像素行中坐标最大的像素行。
S405,保留待插值像素点所属像素行在源图像中对应的N个像素行中,已经保存至缓存中的像素行的像素值,并将待加载像素行的像素值保存至缓存中的R个缓存分区。
其中R为待加载像素行的数目,示例性的,假设待插值像素点所属像素行在源图像中对应的N个像素行为第2-32像素行,缓存中已经保存有源图像中的第1-31像素行的像素值,保留其中第2-31像素行的像素值,将待加载像素行,即第33像素行,保存至缓存中的1个缓存分区中。可以理解的是,何时在缓存中删除第1像素行的像素值可以根据实际需求设置,例如,可以是先将缓存中的第1像素行的像素值删除,再将第33像素行的像素值写入原先保存第1像素行的缓存分区,可以是先将第33像素行的像素值写入缓存中的一个空的缓存分区,再将第1像素行的像素值删除,作为新的空的缓存分区,在下次加载新的像素行的像素值时使用。
S406,将保存有待加载像素行的像素值的R个缓存分区的分区标识设置为,与该缓存分区所保存的像素值所属像素行的行坐标相对应的分区标识。
仍以S405中的例子为例,可以是将保存有第33像素行的像素值的缓存分区的分区标识设置为33,或者f(33),其中f(x)为一预设的函数。进一步的,如果分区标识为与该缓存分区所保存的像素值的所属像素行的相对行坐标对应的编号,需要将缓存中其他的缓存分区的分区标识设置为,与该缓存分区所保存的像素值所属像素行的相对行坐标相对应的分区标识。可以理解的是,像素行的相对行坐标,与该像素行的行坐标相对应,因此与相对行坐标相对应的分区标识,也是与行坐标相对应的分区标识。
S407,根据映射坐标,确定包括映射点在内的像素区域,作为映射点的领域。
其中,与待插值像素点所属像素行对应的源图像中的N个像素行的像素值保存在缓存中,缓存包括N个带有分区标识的缓存分区,并且每个缓存分区用于保存N个像素行中的一个像素行的像素值,其中,分区标识用于表示该缓存分区所保存的像素值所属像素行的行坐标。具体的,该步骤与S102相同,可以参见前述关于S102的描述,在此不再赘述。
S408,从分区标识与邻域中各个像素点的行坐标相匹配的缓存分区中,读取邻域中各个像素点的像素值。
具体的,该步骤与S103相同,可以参见前述关于S103的描述,在此不再赘述。
S409,根据邻域中各个像素点的像素值,按照预设的插值公式,确定待插值像素点的像素值。
具体的,该步骤与S104相同,可以参见前述关于S104的描述,在此不再赘述。
S410,确定待插值像素点,是否为所属像素行的最后一个像素点,如果待插值像素点是所属像素行的最后一个像素点,执行S412,如果待插值像素点不是所属像素行的最后一个像素点,执行S411。
具体的,该步骤与S205相同,可以参见前述关于S205的描述,在此不再赘述。
S411,将所属像素行中,待插值像素点的下一个像素点作为当前的待插值像素点,并返回执行S401。
具体的,该步骤与S206相同,可以参见前述关于S206的描述,在此不再赘述。
S412,确定所属像素行是否为待生成图像中的最后一个像素行,如果所属像素行不是待生成图像的最后一个像素行,执行S413,如果像素行是待生成图像的最后一个像素行,确定已经得到待生成图像中所有像素点的像素值。
具体的,该步骤与S207相同,可以参见前述关于S207的描述,在此不再赘述。
S413,将所属像素行的下一个像素行的第一个像素点作为当前的待插值像素点,并返回执行S401。
具体的,该步骤与S208相同,可以参见前述关于S208的描述,在此不再赘述。
选用该实施例,可以在确定待生成图像中每个像素行的第一个像素点时,确定缓存中保存的像素值是否需要更新,如果需要更新,将与当前正在确定的像素行在源图像中对应的N个像素行中还没有保存至缓存中的像素值,加载至缓存中,使得缓存中保存的像素值可以完成该当前正在确定的像素行的像素值的计算。由于只需要加载R个像素行,而不需要将N个像素行都加载至缓存中,而现有技术中,为了保证处理器可以从缓存中正确地获取到需要的像素值,缓存中的N个像素行需要按顺序进行存储,当计算目的图像中的下一个像素行的像素值,需要从外部存储器中加载新的像素行的像素值时,为了避免缓存中存储的像素值的顺序被打乱,可以重新从外部存储器中按顺序加载,计算目的图像中的下一个像素行所需要的所有像素值。例如,假设当前缓存中存储有源图像中第1-32行的像素值,在计算目的图像中下一个像素行的像素值时,需要使用到源图像中第2-33行的像素值,如果直接删除缓存中的第1行的像素值,并将第33行的像素值存储在原先存储第1行的像素值的位置,处理器可能会将第33行的像素值错误地识别为第2行的像素值,为了避免这种情况发生,可以从外部存储器中按顺序加载第2-33行的像素值。但是,如果同时加载N个像素行的像素值,需要占用较大的内存带宽,故选用该实施例,可以有效降低更新缓存中像素值对内存带宽的要求。
参见图5,图5所示为本发明实施例提供的图像的投影变换方法的另一种流程示意图,基于缓存中包括多个预留分区的情况,可以包括:
S501,针对待生成图像中当前位置的待插值像素点,确定待插值像素点在源图像中对应的映射点的映射坐标。
具体的,可以参见前述关于S101的描述,在此不再赘述。
S502,确定待插值像素点是否为所属像素行的第一个像素点,并且所属像素行不是待生成图像中的最后一个像素行,如果待插值像素点是所属像素行的第一个像素点,并且所属像素行不是待生成图像中的最后一个像素行,则执行S503,如果待插值像素点不是所属像素行的第一个像素点,或者所属像素行是待生成图像中的最后一个像素行,则执行S506。
S503,确定待插值像素点所属像素行的下一个像素行的第一个像素点在源图像中对应的映射点的行坐标,与映射坐标中的行坐标的差值ΔY2
S504,判断ΔY2是否大于0,且小于等于多个预留分区的数目,如果ΔY2大于0,且小于等于多个预留分区的数目,则执行S505,如果ΔY2等于0,则执行S506。
在本实施例,如果ΔY2大于多个预留分区的数目,可以认为待生成图像在待插值像素点所属像素行,和待插值像素点所属像素行的下一个像素行之间存在画面撕裂,此时可以终止图像的投影变换并进行报警。
S505,将源图像中第L行后的ΔY2个像素行中的像素值,分别保存至多个预留分区中的ΔY2个预留分区,并且每个预留分区保存一个像素行中的像素值。
其中,第L行为缓存中保存的N个像素行中行坐标最大的像素行。示例性的,假设ΔY2为2,缓存中已保存源图像中第1-32像素行的像素值,则将源图像中的第33像素行和第34像素行的像素值,保存至缓存中的2个预留分区中。
S506,根据映射坐标,确定包括映射点在内的像素区域,作为映射点的邻域。
其中,与待插值像素点所属像素行对应的源图像中的N个像素行的像素值保存在缓存中,缓存包括N个带有分区标识的缓存分区,并且每个缓存分区用于保存N个像素行中的一个像素行的像素值,其中,分区标识用于表示该缓存分区所保存的像素值所属像素行的行坐标。具体的,该步骤与S102相同,可以参见前述关于S102的描述,在此不再赘述。
S507,从分区标识与邻域中各个像素点的行坐标相匹配的缓存分区中,读取邻域中各个像素点的像素值。
具体的,该步骤与S103相同,可以参见前述关于S103的描述,在此不再赘述。
S508,根据邻域中各个像素点的像素值,按照预设的插值公式,确定待插值像素点的像素值。
具体的,该步骤与S104相同,可以参见前述关于S104的描述,在此不再赘述。
S509,确定待插值像素点,是否为所属像素行的最后一个像素点。如果待插值像素点是所属像素行的最后一个像素点,执行S511,如果待插值像素点不是所属像素行的最后一个像素点,执行S510。
具体地,该步骤与S205相同,可以参见前述关于S205的描述,在此不再赘述。
S510,将所属像素行中,待插值像素点的下一个像素点作为当前的待插值像素点,并返回执行S501。
具体地,该步骤与S206相同,可以参见前述关于S206的描述,在此不再赘述。
S511,确定所属像素行是否为待生成图像中的最后一个像素行,如果所属像素行不是待生成图像的最后一个像素行,执行S212,如果像素行是待生成图像的最后一个像素行,确定已经得到待生成图像中所有像素点的像素值。
具体地,该步骤与S207相同,可以参见前述关于S207的描述,在此不再赘述。
可以理解的是,由于本实施例中是从待生成图像中的第一个像素行的第一个像素点开始,逐行逐个确定待生成图像中的像素点的像素值的,因此在确定完待生成图像中的最后一个像素行中的最后一个像素点后,实际上待生成图像中的所有像素点的像素值均已确定,即完成了针对源图像的投影变换。
S512,将所属像素行的下一个像素行的第一个像素点作为当前的待插值像素点,并返回执行S501。
具体地,该步骤与S208相同,可以参见前述关于S208的描述,在此不再赘述。
选用该实施例,在确定待生成图像中一个像素行的第一个像素点的像素值前,会预先确定该像素行的下一个像素行是否需要更新缓存中的像素值,如果需要更新缓存中的像素值,将尚未保存至缓存中的像素值预先保存至缓存中的预留分区中,使得在计算下一个像素行时,只需要将预留分区作为缓存分区,既可以使得缓存分区中保存有计算下一个像素行所需要的N个像素行的像素值,而不需要再从外部存储器中加载数据,有效地节省了时间。
参见图6a,图6a所示为本发明实施例提供的图像的投影变换装置的一种结构示意图,可以包括:
映射模块610,用于针对待生成图像中当前位置的待插值像素点,确定待插值像素点在源图像中对应的映射点的映射坐标;
邻域确定模块620,用于根据映射坐标,确定包括映射点在内的像素区域,作为映射点的邻域,其中,与待插值像素点所属像素行对应的源图像中的N个像素行的像素值保存于缓存中,缓存包括N个带有分区标识的缓存分区,并且每个缓存分区用于保存N个像素行中的一个像素行的像素值,其中,分区标识用于表示该缓存分区所保存的像素值所属像素行的行坐标;
数据读取模块630,用于从分区标识与邻域中各个像素点的行坐标相匹配的缓存分区中,读取邻域中各个像素点的像素值;
插值模块640,用于根据邻域中各个像素点的像素值,按照预设的插值公式,确定待插值像素点的像素值。
在一种可选的实施例中,待生成图像的第一当前位置的待插值像素点为,待生成图像中第一个像素行的第一个像素点;
映射模块610,在确定待插值像素点的像素值之后,还用于:
确定待插值像素点,是否为所属像素行的最后一个像素点;
如果待插值像素点,不是所属像素行的最后一个像素点,将所属像素行中,待插值像素点的下一个像素点作为当前的待插值像素点,并返回执行确定待插值像素点在源图像中对应的映射点的映射坐标的步骤;
如果待插值像素点,是所属像素行的最后一个像素点,确定所属像素行是否为待生成图像中的最后一个像素行;
如果所属像素行不是待生成图像的最后一个像素行,将所属像素行的下一个像素行的第一个像素点作为当前的待插值像素点,并返回执行确定待插值像素点在源图像中对应的映射点的映射坐标的步骤;
如果所属像素行是待生成图像的最后一个像素行,确定已经得到待生成图像中所有像素点的像素值。
在一种可选的实施例中,分区标识为,与该缓存分区所保存的像素值的所属像素行的相对行坐标对应的编号,其中,相对行坐标为相对待插值像素点所属像素行的第一个像素点,在源图像中对应的映射点的行坐标。
在一种可选的实施例中,邻域为一由源图像中,包括映射点在内的相邻的四个像素点组成的2*2像素区域。
在一种可选的实施例中,N个带有分区标识的缓存分区中,每个缓存分区被划分为第一缓存子区和第二缓存子区,其中,第一缓存子区用于存储该缓存分区中所属像素点的列坐标为奇数的像素值,第二缓存子区用于存储该缓存分区中所属像素点的列坐标为偶数的像素值;
缓存包括第一缓存块,第二缓存块,第三缓存块以及第四缓存块,其中,第一缓存块包括分区标识所表示的行坐标为奇数的缓存分区的第一缓存子区,第二缓存块包括分区标识所表示的行坐标为奇数的缓存分区的第二缓存子区,第三缓存块包括分区标识所表示的行坐标为偶数的缓存分区的第一缓存子区,第四缓存块包括分区标识所表示的行坐标为偶数的缓存分区的第二缓存子区。
在一种可选的实施例中,如图6b所示,装置还可以包括更新模块650,更新模块610包括:
检测单元,用于在确定待插值像素点在源图像中对应的映射点的映射坐标之后,如果待插值像素点是所属像素行的第一个像素点,且所属像素行不是待生成图像中的第一个像素行,确定与待插值像素点所属像素行对应的源图像中的N个像素行是否发生变化;如果N个像素行发生变化,确定待加载像素行,其中待加载像素行为,N个像素行中尚未保存至缓存中的像素行;
数据管理单元,用于保留N个像素行中已经保存至缓存中的像素行的像素值;
数据加载单元,用于将待加载像素行的像素值保存至缓存中的R个缓存分区,其中R为待加载像素行的数目;
分区控制单元,用于分别将R个缓存分区的分区标识设置为,与该缓存分区所保存的像素值所属像素行的行坐标相对应的分区标识。
进一步的,数据加载单元,具体用于获取待插值像素点所属像素行的上一个像素行中的第一个像素点在源图像中的映射点的行坐标,与映射坐标中的行坐标的差值ΔY1
将源图像中第L行后的ΔY1个像素行,确定为待加载像素行,其中第L行为N个像素行中行坐标最大的像素行。
在一种可选的实施例中,缓存还包括多个预留分区;
装置还包括预加载模块660,用于如果待插值像素点,是所属像素行的第一个像素点,且所属像素行不是待生成图像中的最后一个像素行,确定所述待插值像素点所属像素行的下一个像素行的第一个像素点在所述源图像中对应的映射点的行坐标,与所述映射坐标中的行坐标的差值ΔY2
如果ΔY2大于0,且小于等于所述多个预留分区的数目,将所述源图像中第L行后的ΔY2个像素行中的像素值,分别保存至所述多个预留分区中的ΔY2个预留分区,并且每个预留分区保存一个像素行中的像素值,其中,第L行为N个像素行中行坐标最大的像素行。
在一种可选的实施例中,映射模块610,具体用于分别按照下式计算得到映射点的行坐标Y1和列坐标X1
Figure BDA0001666002710000261
Figure BDA0001666002710000262
Figure BDA0001666002710000263
Figure BDA0001666002710000264
其中,m11、m12、m13、m14、m21、m22、m23、m24为预设的投影变换矩阵的矩阵参数,row为待插值像素点的行坐标,col为待插值像素点的列坐标,src_hsize为源图像的行数,src_vsize为源图像的列数,
Figure BDA0001666002710000265
表示向下取整,l、r为两个预设的正整数,<<表示左移运算符,>>表示右移运算符。
参见图7,图7所示为本发明实施例提供的电子设备的一种结构示意图,可以包括:
存储器710,用于存放计算机程序;
处理器720,用于执行存储器上所存放的程序时,实现如下步骤:
针对待生成图像中当前位置的待插值像素点,确定待插值像素点在源图像中对应的映射点的映射坐标;
根据映射坐标,确定包括映射点在内的像素区域,作为映射点的邻域,其中,与待插值像素点所属像素行对应的源图像中的N个像素行的像素值保存在缓存中,缓存包括N个带有分区标识的缓存分区,并且每个缓存分区用于保存N个像素行中的一个像素行的像素值,其中,分区标识用于表示该缓存分区所保存的像素值所属像素行的行坐标;
从分区标识与邻域中各个像素点的行坐标相匹配的缓存分区中,读取邻域中各个像素点的像素值;
根据邻域中各个像素点的像素值,按照预设的插值公式,确定待插值像素点的像素值。
在一种可选的实施例中,待生成图像的第一个当前位置的待插值像素点为,待生成图像中第一个像素行的第一个像素点;
在根据邻域中各个像素点的像素值,按照预设的插值公式,确定待插值像素点的像素值之后,方法还包括:
确定待插值像素点,是否为所属像素行的最后一个像素点;
如果待插值像素点,不是所属像素行的最后一个像素点,将所属像素行中,待插值像素点的下一个像素点作为当前的待插值像素点,并返回执行确定待插值像素点在源图像中对应的映射点的映射坐标的步骤;
如果待插值像素点,是所属像素行的最后一个像素点,确定所属像素行是否为待生成图像中的最后一个像素行;
如果所属像素行不是待生成图像的最后一个像素行,将所属像素行的下一个像素行的第一个像素点作为当前的待插值像素点,并返回执行确定待插值像素点在源图像中对应的映射点的映射坐标的步骤;
如果所属像素行是待生成图像的最后一个像素行,确定已经得到待生成图像中所有像素点的像素值。
在一种可选的实施例中,分区标识为,与该缓存分区所保存的像素值的所属像素行的相对行坐标对应的编号,其中,相对行坐标为相对待插值像素点所属像素行的第一个像素点,在源图像中对应的映射点的行坐标。
在一种可选的实施例中,邻域为一由源图像中,包括映射点在内的相邻的四个像素点组成的2*2像素区域。
进一步的,N个带有分区标识的缓存分区中,每个缓存分区被划分为第一缓存子区和第二缓存子区,其中,第一缓存子区用于存储该缓存分区中所属像素点的列坐标为奇数的像素值,第二缓存子区用于存储该缓存分区中所属像素点的列坐标为偶数的像素值;
缓存包括第一缓存块,第二缓存块,第三缓存块以及第四缓存块,其中,第一缓存块包括分区标识所表示的行坐标为奇数的缓存分区的第一缓存子区,第二缓存块包括分区标识所表示的行坐标为奇数的缓存分区的第二缓存子区,第三缓存块包括分区标识所表示的行坐标为偶数的缓存分区的第一缓存子区,第四缓存块包括分区标识所表示的行坐标为偶数的缓存分区的第二缓存子区。
在一种可选的实施例中,在确定待插值像素点在源图像中对应的映射点的映射坐标之后,方法还包括:
如果待插值像素点是所属像素行的第一个像素点,且所属像素行不是待生成图像中的第一个像素行,确定与待插值像素点所属像素行对应的源图像中的N个像素行是否发生变化;
如果N个像素行发生变化,确定待加载像素行,其中待加载像素行为,N个像素行中尚未保存至缓存中的像素行;
保留N个像素行中已经保存至缓存中的像素行的像素值;
将待加载像素行的像素值保存至缓存中的R个缓存分区,其中R为待加载像素行的数目;
分别将R个缓存分区的分区标识设置为,与该缓存分区所保存的像素值所属像素行的行坐标相对应的分区标识。
进一步的,确定待加载像素行,包括:
获取待插值像素点所属像素行的上一个像素行中的第一个像素点在源图像中的映射点的行坐标,与映射坐标中的行坐标的差值ΔY1
将源图像中第L行后的ΔY1个像素行,确定为待加载像素行,其中第L行为N个像素行中行坐标最大的像素行。
在一种可选的实施例中,缓存还包括多个预留分区;
在确定待插值像素点在源图像中对应的映射点的映射坐标之后,方法还包括:
如果待插值像素点,是所属像素行的第一个像素点,且所属像素行不是待生成图像中的最后一个像素行,确定待插值像素点所属像素行的下一个像素行的第一个像素点在源图像中对应的映射点的行坐标,与映射坐标中的行坐标的差值ΔY2
如果ΔY2大于0,且小于等于多个预留分区的数目,将源图像中第L行后的ΔY2个像素行中的像素值,分别保存至多个预留分区中的ΔY2个预留分区,并且每个预留分区保存一个像素行中的像素值,其中,第L行为N个像素行中行坐标最大的像素行。
在一种可选的实施例中,确定待插值像素点在源图像中对应的映射点的映射坐标,包括:
分别按照下式计算得到映射点的行坐标Y1和列坐标X1
Figure BDA0001666002710000291
Figure BDA0001666002710000292
Figure BDA0001666002710000293
Figure BDA0001666002710000294
其中,m11、m12、m13、m14、m21、m22、m23、m24为预设的投影变换矩阵的矩阵参数,row为待插值像素点的行坐标,col为待插值像素点的列坐标,src_hsize为源图像的行数,src_vsize为源图像的列数,
Figure BDA0001666002710000295
表示向下取整,l、r为两个预设的正整数,<<表示左移运算符,>>表示右移运算符。
上述电子设备提到的存储器可以包括随机存取存储器(Random AccessMemory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一的图像的投影变换方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一的图像的投影变换方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (11)

1.一种图像的投影变换方法,其特征在于,所述方法包括:
针对待生成图像中当前位置的待插值像素点,确定所述待插值像素点在源图像中对应的映射点的映射坐标;其中,所述待生成图像中的一个像素行对应所述源图像中的一个斜线;
根据所述映射坐标,确定包括所述映射点在内的像素区域,作为所述映射点的邻域,其中,与所述待插值像素点所属像素行对应的所述源图像中的N个像素行的像素值保存在缓存中,所述缓存包括N个带有分区标识的缓存分区,并且每个缓存分区用于保存所述N个像素行中的一个像素行的像素值,其中,所述分区标识用于表示该缓存分区所保存的像素值所属像素行的行坐标;
从分区标识与所述邻域中各个像素点的行坐标相匹配的缓存分区中,读取所述邻域中各个像素点的像素值;
根据所述邻域中各个像素点的像素值,按照预设的插值公式,确定所述待插值像素点的像素值。
2.根据权利要求1所述的方法,其特征在于,所述待生成图像的第一个当前位置的待插值像素点为,所述待生成图像中第一个像素行的第一个像素点;
在所述根据所述邻域中各个像素点的像素值,按照预设的插值公式,确定所述待插值像素点的像素值之后,所述方法还包括:
确定所述待插值像素点,是否为所属像素行的最后一个像素点;
如果所述待插值像素点,不是所属像素行的最后一个像素点,将所属像素行中,所述待插值像素点的下一个像素点作为当前的待插值像素点,并返回执行所述确定所述待插值像素点在源图像中对应的映射点的映射坐标的步骤;
如果所述待插值像素点,是所属像素行的最后一个像素点,确定所属像素行是否为所述待生成图像中的最后一个像素行;
如果所属像素行不是所述待生成图像的最后一个像素行,将所属像素行的下一个像素行的第一个像素点作为当前的待插值像素点,并返回执行所述确定所述待插值像素点在源图像中对应的映射点的映射坐标的步骤;
如果所属像素行是所述待生成图像的最后一个像素行,确定已经得到所述待生成图像中所有像素点的像素值。
3.根据权利要求1所述的方法,其特征在于,所述分区标识为,与该缓存分区所保存的像素值的所属像素行的相对行坐标对应的编号,其中,相对行坐标为相对所述待插值像素点所属像素行的第一个像素点,在源图像中对应的映射点的行坐标。
4.根据权利要求1所述的方法,其特征在于,所述邻域为一由所述源图像中,包括所述映射点在内的相邻的四个像素点组成的2*2像素区域。
5.根据权利要求4所述的方法,其特征在于,所述N个带有分区标识的缓存分区中,每个缓存分区被划分为第一缓存子区和第二缓存子区,其中,第一缓存子区用于存储该缓存分区中所属像素点的列坐标为奇数的像素值,第二缓存子区用于存储该缓存分区中所属像素点的列坐标为偶数的像素值;
所述缓存包括第一缓存块,第二缓存块,第三缓存块以及第四缓存块,其中,所述第一缓存块包括分区标识所表示的行坐标为奇数的缓存分区的第一缓存子区,所述第二缓存块包括分区标识所表示的行坐标为奇数的缓存分区的第二缓存子区,所述第三缓存块包括分区标识所表示的行坐标为偶数的缓存分区的第一缓存子区,所述第四缓存块包括分区标识所表示的行坐标为偶数的缓存分区的第二缓存子区。
6.根据权利要求2所述的方法,其特征在于,在所述确定所述待插值像素点在源图像中对应的映射点的映射坐标之后,所述方法还包括:
如果所述待插值像素点是所属像素行的第一个像素点,且所属像素行不是所述待生成图像中的第一个像素行,确定与所述待插值像素点所属像素行对应的所述源图像中的N个像素行是否发生变化;
如果所述N个像素行发生变化,确定待加载像素行,其中所述待加载像素行为,所述N个像素行中尚未保存至所述缓存中的像素行;
保留所述N个像素行中已经保存至所述缓存中的像素行的像素值;
将所述待加载像素行的像素值保存至所述缓存中的R个缓存分区,其中R为所述待加载像素行的数目;
分别将所述R个缓存分区的分区标识设置为,与该缓存分区所保存的像素值所属像素行的行坐标相对应的分区标识。
7.根据权利要求6所述的方法,其特征在于,所述确定待加载像素行,包括:
获取所述待插值像素点所属像素行的上一个像素行中的第一个像素点在所述源图像中的映射点的行坐标,与所述映射坐标中的行坐标的差值ΔY1
将所述源图像中第L行后的ΔY1个像素行,确定为待加载像素行,其中第L行为所述N个像素行中行坐标最大的像素行。
8.根据权利要求2所述的方法,其特征在于,所述缓存还包括多个预留分区;
在所述确定所述待插值像素点在源图像中对应的映射点的映射坐标之后,所述方法还包括:
如果所述待插值像素点,是所属像素行的第一个像素点,且所属像素行不是所述待生成图像中的最后一个像素行,确定所述待插值像素点所属像素行的下一个像素行的第一个像素点在所述源图像中对应的映射点的行坐标,与所述映射坐标中的行坐标的差值ΔY2
如果ΔY2大于0,且小于等于所述多个预留分区的数目,将所述源图像中第L行后的ΔY2个像素行中的像素值,分别保存至所述多个预留分区中的ΔY2个预留分区,并且每个预留分区保存一个像素行中的像素值,其中,第L行为所述N个像素行中行坐标最大的像素行。
9.根据权利要求1所述的方法,其特征在于,所述确定所述待插值像素点在源图像中对应的映射点的映射坐标,包括:
分别按照下式计算得到所述映射点的行坐标Y1和列坐标X1
Figure FDA0004218849060000041
Figure FDA0004218849060000042
Figure FDA0004218849060000043
Figure FDA0004218849060000044
其中,m11、m12、m13、m14、m21、m22、m23、m24为预设的投影变换矩阵的矩阵参数,row为所述待插值像素点的行坐标,col为所述待插值像素点的列坐标,src_hsize为所述源图像的行数,src_vsize为所述源图像的列数,low为0,
Figure FDA0004218849060000045
表示向下取整,l、r为两个预设的正整数,<<表示左移运算符,>>表示右移运算符。
10.一种图像的投影变换装置,其特征在于,所属装置包括:
映射模块,用于针对待生成图像中当前位置的待插值像素点,确定待插值像素点在源图像中对应的映射点的映射坐标;其中,所述待生成图像中的一个像素行对应所述源图像中的一个斜线;
邻域确定模块,用于根据所述映射坐标,确定包括所述映射点在内的像素区域,作为所述映射点的邻域,其中,与所述待插值像素点所属像素行对应的所述源图像中的N个像素行的像素值保存于缓存中,所述缓存包括N个带有分区标识的缓存分区,并且每个缓存分区用于保存所述N个像素行中的一个像素行的像素值,其中,所述分区标识用于表示该缓存分区所保存的像素值所属像素行的行坐标;
数据读取模块,用于从分区标识与所述邻域中各个像素点的行坐标相匹配的缓存分区中,读取邻域中各个像素点的像素值;
插值模块,用于根据邻域中各个像素点的像素值,按照预设的插值公式,确定待插值像素点的像素值。
11.一种电子设备,其特征在于,包括:
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-9任一所述的方法步骤。
CN201810481563.5A 2018-05-18 2018-05-18 一种图像的投影变换方法、装置及电子设备 Active CN110503602B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810481563.5A CN110503602B (zh) 2018-05-18 2018-05-18 一种图像的投影变换方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810481563.5A CN110503602B (zh) 2018-05-18 2018-05-18 一种图像的投影变换方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN110503602A CN110503602A (zh) 2019-11-26
CN110503602B true CN110503602B (zh) 2023-07-04

Family

ID=68584012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810481563.5A Active CN110503602B (zh) 2018-05-18 2018-05-18 一种图像的投影变换方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN110503602B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111915673B (zh) * 2020-07-22 2022-01-11 深圳云天励飞技术股份有限公司 图像处理方法、装置、终端设备及存储介质
CN112118391A (zh) * 2020-09-23 2020-12-22 郑州铁路职业技术学院 一种建筑信息展示装置
CN113298695B (zh) * 2021-06-25 2024-04-26 北京爱芯科技有限公司 一种图像处理组件和芯片、图像处理方法和存储介质
CN115187448A (zh) * 2022-06-15 2022-10-14 奥比中光科技集团股份有限公司 一种基于芯片的图像仿射变换方法及芯片

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796649B (zh) * 2014-01-21 2017-12-26 北京炬力北方微电子有限公司 一种三维投影的方法及装置
CN106815808A (zh) * 2017-01-20 2017-06-09 长沙全度影像科技有限公司 一种利用分块运算的图像拼接方法
CN107945112B (zh) * 2017-11-17 2020-12-08 浙江大华技术股份有限公司 一种全景图像拼接方法及装置

Also Published As

Publication number Publication date
CN110503602A (zh) 2019-11-26

Similar Documents

Publication Publication Date Title
CN110503602B (zh) 一种图像的投影变换方法、装置及电子设备
US11997397B2 (en) Method, apparatus, and device for processing images, and storage medium
US10337861B2 (en) Image generating device for generating depth map with phase detection pixel
CN110060200B (zh) 图像透视变换方法、装置及设备
JP3773773B2 (ja) 画像信号処理装置及び画素欠陥の検出方法
EP3779769B1 (en) Optical flow computing method and computing device
CN110413805B (zh) 一种图像存储方法、装置、电子设备及存储介质
CN115829843B (zh) 图像拼接方法、装置、计算机设备及存储介质
CN112465877A (zh) 一种基于运动状态估计的卡尔曼滤波视觉追踪稳定方法
CN114169283B (zh) 可编程逻辑器件的延时估算方法、装置、设备及存储介质
JP2017055308A (ja) 撮像装置及びその制御方法
US20190108648A1 (en) Phase detection auto-focus-based positioning method and system thereof
US9734550B1 (en) Methods and apparatus for efficiently determining run lengths and identifying patterns
CN114080626A (zh) 确定第一图像区域在对应图像中的位置的方法、执行该方法的SoC和控制设备和系统以及计算机程序
KR101854355B1 (ko) 다중센서를 선택적으로 이용하는 영상보정 장치
CN110176035A (zh) 标志点的定位方法、装置、计算机设备和存储介质
CN115713564A (zh) 相机标定方法及装置
CN112465932A (zh) 一种图像填充方法、装置、设备及存储介质
CN112465920A (zh) 一种视觉传感器标定方法及装置
US11341654B2 (en) Correspondence search between matrix elements
CN116071438B (zh) 一种无人机RigCamera影像的增量SfM方法及装置
KR101854354B1 (ko) 다중센서 기반 영상보정 방법
JP6467940B2 (ja) 画像処理装置、画像処理方法及びプログラム
CN113409366B (zh) 一种遥感卫星影像的辐射校正方法及装置
CN114881894B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200708

Address after: 311501 building A1, No. 299, Qiushi Road, Tonglu Economic Development Zone, Tonglu County, Hangzhou City, Zhejiang Province

Applicant after: Hangzhou Haikang Micro Shadow Sensing Technology Co.,Ltd.

Address before: Hangzhou City, Zhejiang province 310051 Binjiang District Qianmo Road No. 555

Applicant before: Hangzhou Hikvision Digital Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant