[0033] 第六计算单元,所述第六计算单元用于根据所述第i幅影像与所述第j幅影像的重叠区域,计算所述重叠区域的主框架点;
[0034] 第三生成单元,所述第三生成单元用于根据所述重叠区域的主框架点和所述第i幅影像边界,生成所述第i幅影像相对所述第j幅影像的贡献区域;
[0035] 第六获得单元,所述第六获得单元用于根据所述第i幅影像相对所述第j幅影像的贡献区域,获得所述第i幅影像的所有贡献区域;
[0036] 第七获得单元,所述第七获得单元用于计算所述第i幅影像的所有贡献区域的交集,获得所述第i幅影像的最小贡献区域;
[0037] 第八获得单元,所述第八获得单元用于根据所述第i幅影像的最小贡献区域,获得n幅影像的最小贡献区域。
[0038] 优选的,所述第三计算单元包括:
[0039] 第七计算单元,所述第七计算单元用于根据所述待镶嵌影像范围,计算所述待镶嵌影像在经度方向和纬度方向上的最大值和最小值;
[0040] 第九获得单元,所述第九获得单元用于获得所述待镶嵌影像的分辨率;
[0041] 第八计算单元,所述第八计算单元用于根据所述待镶嵌影像在经度方向和纬度方向上的最大值和最小值、所述待镶嵌影像的分辨率,计算镶嵌后影像的长度和宽度。
[0042] 优选的,所述镶嵌后影像的长度为所述待镶嵌影像在纬度方向上的最大值与最小值之差与所述待镶嵌影像分辨率的比值。
[0043] 优选的,所述镶嵌后影像的宽度为所述待镶嵌影像在经度方向上的最大值与最小值之差与所述待镶嵌影像分辨率的比值。
[0044] 第三方面,本发明提供了一种基于主框架搜索的卫星影像快速镶嵌装置,包括
存储器、处理器及存储在存储器上并可在处理器上运行的
计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
[0045] 获得待镶嵌影像;对所述待镶嵌影像进行分组、并行计算所述待镶嵌影像的有效区域;根据所述待镶嵌影像的有效区域,生成所述待镶嵌影像的镶嵌线;根据所述待镶嵌影像,计算所述待镶嵌影像范围;根据所述待镶嵌影像范围,计算镶嵌后影像的长度和宽度;根据所述镶嵌后影像的长度和宽度,对所述镶嵌后影像进行分块,获得若干个待镶嵌影像块;对所述若干个待镶嵌影像块进行并行镶嵌处理,获得镶嵌后影像。
[0046] 第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现以下步骤:
[0047] 获得待镶嵌影像;对所述待镶嵌影像进行分组、并行计算所述待镶嵌影像的有效区域;根据所述待镶嵌影像的有效区域,生成所述待镶嵌影像的镶嵌线;根据所述待镶嵌影像,计算所述待镶嵌影像范围;根据所述待镶嵌影像范围,计算镶嵌后影像的长度和宽度;根据所述镶嵌后影像的长度和宽度,对所述镶嵌后影像进行分块,获得若干个待镶嵌影像块;对所述若干个待镶嵌影像块进行并行镶嵌处理,获得镶嵌后影像。
[0048] 本发明实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
[0049] 本发明实施例通过提供一种基于主框架搜索的卫星影像快速镶嵌方法及装置,所述方法包括:获得待镶嵌影像;对所述待镶嵌影像进行分组、并行计算所述待镶嵌影像的有效区域;根据所述待镶嵌影像的有效区域,生成所述待镶嵌影像的镶嵌线;根据所述待镶嵌影像,计算所述待镶嵌影像范围;根据所述待镶嵌影像范围,计算镶嵌后影像的长度和宽度;根据所述镶嵌后影像的长度和宽度,对所述镶嵌后影像进行分块,获得若干个待镶嵌影像块;对所述若干个待镶嵌影像块进行并行镶嵌处理,获得镶嵌后影像。基于主框架搜索法,针对海量遥感影像快速生成镶嵌线,同时基于MPI多进程并行镶嵌处理方案,将海量遥感影像分解成多个子任务,分配给不同处理器,由于各个处理器之间相互独立,可并行执行子任务,从而达到了快速生成镶嵌线,极大提高镶嵌处理效率,且算法精度高的技术效果,进一步解决了现有技术中的镶嵌方法存在算法逻辑简单、易出现较大误差,或者算法精度高、但计算量较大的技术问题。
[0050] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照
说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
[0051] 图1为本发明实施例提供的一种基于主框架搜索的卫星影像快速镶嵌方法的流程示意图;
[0052] 图2为本发明实施例中一种基于主框架搜索的卫星影像快速镶嵌装置的结构示意图;
[0053] 图3为本发明实施例中另一种基于主框架搜索的卫星影像快速镶嵌装置的结构示意图。
[0054] 附图标记说明:第一获得单元11,第一计算单元12,第一生成单元13,第二计算单元14,第三计算单元15,第二获得单元16,第三获得单元17,总线300,接收器301,处理器302,发送器303,存储器304,总线
接口306。
具体实施方式
[0055] 本发明实施例提供了一种基于主框架搜索的卫星影像快速镶嵌方法及装置,解决了现有技术中的镶嵌方法存在算法逻辑简单、易出现较大误差,或者算法精度高、但计算量较大的技术问题。
[0056] 为了解决上述技术问题,本发明提供的技术方案总体思路如下:通过获得待镶嵌影像;对所述待镶嵌影像进行分组、并行计算所述待镶嵌影像的有效区域;根据所述待镶嵌影像的有效区域,生成所述待镶嵌影像的镶嵌线;根据所述待镶嵌影像,计算所述待镶嵌影像范围;根据所述待镶嵌影像范围,计算镶嵌后影像的长度和宽度;根据所述镶嵌后影像的长度和宽度,对所述镶嵌后影像进行分块,获得若干个待镶嵌影像块;对所述若干个待镶嵌影像块进行并行镶嵌处理,获得镶嵌后影像。基于主框架搜索法,针对海量遥感影像快速生成镶嵌线,同时基于MPI多进程并行镶嵌处理方案,将海量遥感影像分解成多个子任务,分配给不同处理器,由于各个处理器之间相互独立,可并行执行子任务,从而达到了快速生成镶嵌线,极大提高镶嵌处理效率,且算法精度高的技术效果。
[0057] 下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
[0058] 实施例一
[0059] 图1为本发明实施例中一种基于主框架搜索的卫星影像快速镶嵌方法的流程示意图,如图1所示,所述方法包括:
[0060] 步骤110:获得待镶嵌影像;
[0061] 步骤120:对所述待镶嵌影像进行分组、并行计算所述待镶嵌影像的有效区域;
[0062] 进一步的,所述对所述待镶嵌影像进行分组、并行计算所述待镶嵌影像的有效区域,包括:对所述待镶嵌影像进行分组;对分组后的所述待镶嵌影像进行并行图像二值化处理;获得所述待镶嵌影像的有效区域。
[0063] 具体而言,当需要将多幅遥感影像镶嵌形成一幅整体影像时,首先获取待镶嵌影像,其中,所述待镶嵌影像包含两幅或两幅以上遥感影像,本发明实施例提出的卫星影像快速镶嵌方法是基于MPI多进程并行镶嵌处理方案,在获取所述待镶嵌影像之后,由主进程将所述待镶嵌影像进行分组,并分发给
子进程,再由子进程对分组后的所述待镶嵌影像进行并行图像二值化处理,获得所述待镶嵌影像的有
像素值区域,即为所述待镶嵌影像有效区域,由于各个子进程之间相互独立,并行处理任务,达到了提高执行效率的技术效果。
[0064] 步骤130:根据所述待镶嵌影像的有效区域,生成所述待镶嵌影像的镶嵌线;
[0065] 进一步的,所述根据所述待镶嵌影像的有效区域,生成所述待镶嵌影像的镶嵌线,包括:获得所述待镶嵌影像的数量n,其中,n为大于2的正整数;计算n幅影像的最小贡献区域;根据所述n幅影像的最小贡献区域,生成所述待镶嵌影像的镶嵌线。
[0066] 进一步的,所述计算n幅影像的最小贡献区域,包括:以第i幅影像为基准,依次判断所述第i幅影像与后续n-i幅影像是否有重叠,其中,1≤i
[0067] 具体而言,根据所述待镶嵌影像的有效区域,本发明实施例基于主框架搜索方法快速生成镶嵌线,其中,所述主框架搜索方法的基本思想是以一幅影像为基准,判断其它影像与其是否有重叠,若有重叠时,求取重叠区域的主框架点,并沿着主框架点生成镶嵌线,保证当前影像最小贡献区域。生成所述待镶嵌影像的镶嵌线具体步骤如下:(1)获得所述待镶嵌影像的数量n,即所述待镶嵌影像中包含多少幅影像,其中,n为大于2的正整数;(2)当i=1时,以第1幅影像为基准,依次判断第1幅影像与后续n-1幅影像是否有重叠;(3)如果第1幅影像与第2幅影像有重叠,计算出第1幅影像与第2幅影像的重叠区域,此时j=2;(4)根据第1幅影像和第2幅影像的重叠区域,计算所述重叠区域主框架点;(5)沿着所述重叠区域的主框架点和第1幅影像边界生成第1幅影像贡献区域Aera_1_2,沿着所述重叠区域的主框架点和第2幅影像边界生成第2幅影像贡献区域Aera_2_1;(6)依次判断第1幅影像与第j幅影像是否有重叠,如果有重叠根据两幅影像的重叠区域计算主框架点,并生成第1幅影像贡献区域Aera_1_j和第j幅影像贡献区域Aera_j_1(1
[0068] 步骤140:根据所述待镶嵌影像,计算所述待镶嵌影像范围;
[0069] 步骤150:根据所述待镶嵌影像范围,计算镶嵌后影像的长度和宽度;
[0070] 进一步的,所述根据所述待镶嵌影像范围,计算镶嵌后影像的长度和宽度,包括:根据所述待镶嵌影像范围,计算所述待镶嵌影像在经度方向和纬度方向上的最大值和最小值;获得所述待镶嵌影像的分辨率;根据所述待镶嵌影像在经度方向和纬度方向上的最大值和最小值、所述待镶嵌影像的分辨率,计算镶嵌后影像的长度和宽度。
[0071] 进一步的,所述镶嵌后影像的长度为所述待镶嵌影像在纬度方向上的最大值与最小值之差与所述待镶嵌影像分辨率的比值。
[0072] 进一步的,所述镶嵌后影像的宽度为所述待镶嵌影像在经度方向上的最大值与最小值之差与所述待镶嵌影像分辨率的比值。
[0073] 具体而言,在获取所述待镶嵌影像之后,计算出所述待镶嵌影像范围,从而分别得出所述所述待镶嵌影像在经度方向和纬度方向上的最大值和最小值,然后获取所述待镶嵌影像分辨率,既可以计算出镶嵌后影像的长度和宽度,具体地,所述镶嵌后影像的长度为所述待镶嵌影像在纬度方向上的最大值与最小值之差与所述待镶嵌影像分辨率的比值;所述镶嵌后影像的宽度为所述待镶嵌影像在经度方向上的最大值与最小值之差与所述待镶嵌影像分辨率的比值。
[0074] 步骤160:根据所述镶嵌后影像的长度和宽度,对所述镶嵌后影像进行分块,获得若干个待镶嵌影像块;
[0075] 步骤170:对所述若干个待镶嵌影像块进行并行镶嵌处理,获得镶嵌后影像。
[0076] 具体而言,基于MPI多进程并行镶嵌处理任务分发机制,根据所述镶嵌后影像的长度和宽度,将所述镶嵌后影像按照固定像素数分块成若干个矩形网格,每一个矩形格网作为待镶嵌影像块,主进程将所述若干个待镶嵌影像块发送给子进程,再由子进程进行并行镶嵌处理,进而获得镶嵌后影像。由于各个子进程之间相互独立,可并行执行子任务,从而达到了极大提高镶嵌处理效率,且算法精度高的技术效果。其中,所述MPI多进程并行镶嵌处理任务分发机制,通过MPI框架启动镶嵌处理模块,算法模块启动后,子进程等待任务分发,主进程计算镶嵌后影像范围,生成任务订单,并行MPI框架提交任务,MPI框架将任务分配给计算机A、计算机B……,所有计算机子进程执行任务完毕后,汇总任务结果到MPI框架,MPI框架将结果反馈给主进程,主进程根据反馈的任务结果生成最终结果。
[0077] 实施例二
[0078] 基于与前述实施例中一种基于主框架搜索的卫星影像快速镶嵌方法同样的发明构思,本发明还提供一种基于主框架搜索的卫星影像快速镶嵌装置,如图2所示,所述装置包括:
[0079] 第一获得单元11,所述第一获得单元11用于获得待镶嵌影像;
[0080] 第一计算单元12,所述第一计算单元12用于对所述待镶嵌影像进行分组、并行计算所述待镶嵌影像的有效区域;
[0081] 第一生成单元13,所述第一生成单元13用于根据所述待镶嵌影像的有效区域,生成所述待镶嵌影像的镶嵌线;
[0082] 第二计算单元14,所述第二计算单元14用于根据所述待镶嵌影像,计算所述待镶嵌影像范围;
[0083] 第三计算单元15,所述第三计算单元15用于根据所述待镶嵌影像范围,计算镶嵌后影像的长度和宽度;
[0084] 第二获得单元16,所述第二获得单元16用于根据所述镶嵌后影像的长度和宽度,对所述镶嵌后影像进行分块,获得若干个待镶嵌影像块;
[0085] 第三获得单元17,所述第三获得单元17用于对所述若干个待镶嵌影像块进行并行镶嵌处理,获得镶嵌后影像。
[0086] 进一步的,所述第一计算单元12包括:
[0087] 第一分组单元,所述第一分组单元用于对所述待镶嵌影像进行分组;
[0088] 第一处理单元,所述第一处理单元用于对分组后的所述待镶嵌影像进行并行图像二值化处理;
[0089] 第四获得单元,所述第四获得单元用于获得所述待镶嵌影像的有效区域。
[0090] 进一步的,所述第一生成单元13包括:
[0091] 第五获得单元,所述第五获得单元用于获得所述待镶嵌影像的数量n,其中,n为大于2的正整数;
[0092] 第四计算单元,所述第四计算单元用于计算n幅影像的最小贡献区域;
[0093] 第二生成单元,所述第二生成单元用于根据所述n幅影像的最小贡献区域,生成所述待镶嵌影像的镶嵌线。
[0094] 进一步的,所述第四计算单元包括:
[0095] 第一判断单元,所述第一判断单元用于以第i幅影像为基准,依次判断所述第i幅影像与后续n-i幅影像是否有重叠,其中,1≤i
[0096] 第五计算单元,所述第五计算单元用于如果所述第i幅影像与所述第j幅影像有重叠,计算所述第i幅影像与所述第j幅影像的重叠区域,其中,i
[0097] 第六计算单元,所述第六计算单元用于根据所述第i幅影像与所述第j幅影像的重叠区域,计算所述重叠区域的主框架点;
[0098] 第三生成单元,所述第三生成单元用于根据所述重叠区域的主框架点和所述第i幅影像边界,生成所述第i幅影像相对所述第j幅影像的贡献区域;
[0099] 第六获得单元,所述第六获得单元用于根据所述第i幅影像相对所述第j幅影像的贡献区域,获得所述第i幅影像的所有贡献区域;
[0100] 第七获得单元,所述第七获得单元用于计算所述第i幅影像的所有贡献区域的交集,获得所述第i幅影像的最小贡献区域;
[0101] 第八获得单元,所述第八获得单元用于根据所述第i幅影像的最小贡献区域,获得n幅影像的最小贡献区域。
[0102] 进一步的,所述第三计算单元15包括:
[0103] 第七计算单元,所述第七计算单元用于根据所述待镶嵌影像范围,计算所述待镶嵌影像在经度方向和纬度方向上的最大值和最小值;
[0104] 第九获得单元,所述第九获得单元用于获得所述待镶嵌影像的分辨率;
[0105] 第八计算单元,所述第八计算单元用于根据所述待镶嵌影像在经度方向和纬度方向上的最大值和最小值、所述待镶嵌影像的分辨率,计算镶嵌后影像的长度和宽度。
[0106] 进一步的,所述镶嵌后影像的长度为所述待镶嵌影像在纬度方向上的最大值与最小值之差与所述待镶嵌影像分辨率的比值。
[0107] 进一步的,所述镶嵌后影像的宽度为所述待镶嵌影像在经度方向上的最大值与最小值之差与所述待镶嵌影像分辨率的比值。
[0108] 前述图1实施例一中的一种基于主框架搜索的卫星影像快速镶嵌方法的各种变化方式和具体实例同样适用于本实施例的一种基于主框架搜索的卫星影像快速镶嵌装置,通过前述对一种基于主框架搜索的卫星影像快速镶嵌方法的详细描述,本领域技术人员可以清楚的知道本实施例中一种基于主框架搜索的卫星影像快速镶嵌装置的实施方法,所以为了说明书的简洁,在此不再详述。
[0109] 实施例三
[0110] 基于与前述实施例中一种基于主框架搜索的卫星影像快速镶嵌方法同样的发明构思,本发明还提供一种基于主框架搜索的卫星影像快速镶嵌装置,其上存储有计算机程序,该程序被处理器执行时实现前文所述一种基于主框架搜索的卫星影像快速镶嵌方法的任一方法的步骤。
[0111] 其中,在图3中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种
电路链接在一起。总线300还可以将诸如
外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口306在总线300和接收器301和发送器303之间提供接口。接收器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。
[0112] 处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。
[0113] 实施例四
[0114] 基于与前述实施例中一种基于主框架搜索的卫星影像快速镶嵌方法同样的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
[0115] 获得待镶嵌影像;对所述待镶嵌影像进行分组、并行计算所述待镶嵌影像的有效区域;根据所述待镶嵌影像的有效区域,生成所述待镶嵌影像的镶嵌线;根据所述待镶嵌影像,计算所述待镶嵌影像范围;根据所述待镶嵌影像范围,计算镶嵌后影像的长度和宽度;根据所述镶嵌后影像的长度和宽度,对所述镶嵌后影像进行分块,获得若干个待镶嵌影像块;对所述若干个待镶嵌影像块进行并行镶嵌处理,获得镶嵌后影像。
[0116] 在具体实施过程中,该程序被处理器执行时,还可以实现实施例一中的任一方法步骤。
[0117] 本发明实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
[0118] 本发明实施例通过提供一种基于主框架搜索的卫星影像快速镶嵌方法及装置,所述方法包括:获得待镶嵌影像;对所述待镶嵌影像进行分组、并行计算所述待镶嵌影像的有效区域;根据所述待镶嵌影像的有效区域,生成所述待镶嵌影像的镶嵌线;根据所述待镶嵌影像,计算所述待镶嵌影像范围;根据所述待镶嵌影像范围,计算镶嵌后影像的长度和宽度;根据所述镶嵌后影像的长度和宽度,对所述镶嵌后影像进行分块,获得若干个待镶嵌影像块;对所述若干个待镶嵌影像块进行并行镶嵌处理,获得镶嵌后影像。基于主框架搜索法,针对海量遥感影像快速生成镶嵌线,同时基于MPI多进程并行镶嵌处理方案,将海量遥感影像分解成多个子任务,分配给不同处理器,由于各个处理器之间相互独立,可并行执行子任务,从而达到了快速生成镶嵌线,极大提高镶嵌处理效率,且算法精度高的技术效果,进一步解决了现有技术中的镶嵌方法存在算法逻辑简单、易出现较大误差,或者算法精度高、但计算量较大的技术问题。
[0119] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全
硬件实施例、完全
软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0120] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的
流程图和/或方
框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程
数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中
指定的功能的装置。
[0121] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0122] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0123] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些
修改和变型属于本发明
权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。