CN104599251B - 一种真正射影像绝对遮挡区域修补方法及系统 - Google Patents
一种真正射影像绝对遮挡区域修补方法及系统 Download PDFInfo
- Publication number
- CN104599251B CN104599251B CN201510042922.3A CN201510042922A CN104599251B CN 104599251 B CN104599251 B CN 104599251B CN 201510042922 A CN201510042922 A CN 201510042922A CN 104599251 B CN104599251 B CN 104599251B
- Authority
- CN
- China
- Prior art keywords
- pixel
- index
- container
- vector1
- true
- 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
Landscapes
- Image Processing (AREA)
Abstract
一种真正射影像绝对遮挡区域修补方法及系统,包括加载真正射影像及相应的坐标系统参数,分别加载真正射影像相应的DEM三角网格数据和DBM三角网格数据,将真正射影像中被DEM三角网格所覆盖的区域内像素点标定为地面点,将真正射影像中被DBM三角网格所覆盖的区域内像素点标定为建筑点;根据邻域范围内相同属性进行像素点修补。本发明能够有效修补真正射影像中绝对遮蔽区域,各像素属性明确,能够采用相同属性的像素进行修补,因此保证了最大程度的保真,基本不存在地面像素补到屋顶面上或屋顶面像素补到地面上的情况。
Description
技术领域
本发明属于航空摄影测量技术领域,特别涉及一种真正射影像绝对遮挡区域修补方法及系统。
背景技术
在真正射影像生成过程中,当建筑物较为密集,拍摄倾角过大,或者原始相邻影像不足时,就会产生“绝对遮蔽”问题,此时需要采取数字处理的方法对真正射影像中“绝对遮蔽”区域进行纹理补偿。
图像修复的方法很多,主要包括:基于偏微分方程方法、基于全变分模型的方法、纹理合成的方法以及Telea等在2004年提出的基于快速行进法的图像修复方法。其中基于快速行进法的图像修复方法较为简单。该方法的基本思想是,基于加权平均的方式计算单个待修补像素的纹理,基于快速行进方式从待修补区域外围层层推进填充整个遮蔽区域。该方法简单、处理效率高,但同时存在影像模糊和扭曲的问题。
发明内容
针对以上技术问题,本发明从真正射影像像素属性值出发,在快速行进方式的基础上设计了一个基于真正射影像像素属性差异和快速行进方式的真正射影像绝对遮蔽区域修补技术方案,优化了修补效果,大大减少了真正射影像中像素缺失量模糊和扭曲。
本发明的技术方案提供一种真正射影像绝对遮挡区域修补方法,执行以下步骤:
步骤1,加载真正射影像及相应的坐标系统参数,分别加载真正射影像相应的DEM三角网格数据和DBM三角网格数据,所述DEM为地面三角网,所述DBM为建筑三角网;
步骤2,将真正射影像各像素点初始的属性设定为-1;
步骤3,根据DEM三角网格数据,将真正射影像中被DEM三角网格所覆盖的区域内像素点的属性均赋值为0,标定为地面点;
步骤4,根据DBM三角网格数据,将真正射影像中被DBM三角网格所覆盖的区域内像素点的属性均赋值为1,标定为建筑点;
步骤 5,对真正射影像中各像素点逐个进行判断是否缺失像素值,缺失像素值的像素点属于绝对遮挡区域,将缺失像素值的像素点的索引保存在容器Vector1中;
步骤 6,如果容器Vector1中的数据量大于0,则进入步骤7,否则结束流程;
步骤 7,提取容器Vector1中的一个未经处理的索引,索引相应的像素点为当前处理的像素点,判断当前处理的像素点邻域范围内是否有相同属性并且具有像素值的像素点,如果有将相应像素点的索引存放于容器Vector2中;
步骤 8,判断容器Vector2中的索引数据量是否为0,
如果容器Vector2中的索引数据量为0,则直接返回步骤7,提取容器Vector1中的下一个未经处理的索引;
如果容器Vector2中的索引数据量大于0,取出容器Vector2中所有索引,根据各索引分别相应的像素值确定一个像素值后赋值给当前处理的像素点,赋值结束后将容器Vector1中当前处理的像素点相应索引删除,判断容器Vector1中剩余未处理的索引个数是否为0,若是则进入步骤9,若否则返回进入步骤7提取容器Vector1中的下一个未经处理的索引;
步骤 9,根据容器Vector1剩余未删除的索引数据量判断是否满足预设的循环停止条件,若否则返回步骤6根据容器Vector1中剩余未删除的索引进行下一次迭代处理,是则输出修补后的图像,结束流程。
而且,步骤3的实现方式如下,
设DEM三角网格中某三角片所对应的三个顶点的真实地理坐标分别为(x1,y1)、(x2,y2)、(x3,y3),根据坐标系统参数计算DEM某三角片所对应的三个顶点在真正射影像上的坐标A(p_x1,p_y1)、B(p_x2,p_y2)、C(p_x2,p_y2),计算三角形ABC的包围盒,对该包围盒内的像素点判断是否在三角形ABC范围内,如某像素点在该三角形ABC范围内,则将该像素的属性值赋值为0,标定为地面点。
而且,步骤4的实现方式如下,
设DBM三角网格中某三角片所对应的三个顶点的真实地理坐标分别为(x1,y1)、(x2,y2)、(x3,y3),根据坐标系统参数计算DBM某三角片所对应的三个顶点在真正射影像上的坐标A(p_x1,p_y1)、B(p_x2,p_y2)、C(p_x2,p_y2),计算三角形ABC的包围盒,对该包围盒内的像素点判断是否在三角形ABC范围内,如某像素点在该三角形ABC范围内,则将该像素的属性值赋值为1,标定为建筑点。
而且,所述坐标系统参数包括横向分辨率、纵向分辨率、左下角像素点对应的真实地理坐标,设左下角像素的真实地理坐标为(leftdownx,leftdowny) ,横向分辨率为pixelx, 纵向分辨率为pixely;
设某顶点真实地理坐标为(x,y) ,顶点在真正射影像上的坐标(p_x,p_y)的计算方法如下,
p_x=(x-leftdownx)/pixelx;
p_y=(y-leftdowny)/pixely;
其中,p_x为顶点在真正射影像上的横坐标,p_y为顶点在真正射影像上的纵坐标。
而且,步骤 5中,设某像素点的矩阵坐标为(x,y) ,相应索引取值Index如下,
Index=x+y×w;
x =Index mod w;
y =(Index-x)/w;
其中,w为真正射影像的宽度,h为真正射影像的高度,mod表示取余,/表示取模。
而且,步骤 7中,提取容器Vector1中的一个未经处理的索引时,按照对绝对遮挡区域由外到内的顺序实现。
而且,步骤 9中,循环停止条件为,在当前迭代处理后记录容器Vector1中剩余未删除的索引数据量等于上一次迭代处理后记录容器Vector1中剩余未删除的索引数据量。
本发明还相应提供一种真正射影像绝对遮挡区域修补系统,包括以下模块:
加载模块,用于加载真正射影像及相应的坐标系统参数,分别加载真正射影像相应的DEM三角网格数据和DBM三角网格数据,所述DEM为地面三角网,所述DBM为建筑三角网;
初始化模块,用于将真正射影像各像素点初始的属性设定为-1;
地面点标定模块,用于根据DEM三角网格数据,将真正射影像中被DEM三角网格所覆盖的区域内像素点的属性均赋值为0,标定为地面点;
建筑点标定模块,用于根据DBM三角网格数据,将真正射影像中被DBM三角网格所覆盖的区域内像素点的属性均赋值为1,标定为建筑点;
缺失像素值搜索模块,用于对真正射影像中各像素点逐个进行判断是否缺失像素值,缺失像素值的像素点属于绝对遮挡区域,将缺失像素值的像素点的索引保存在容器Vector1中;
缺失像素值数据量判断模块,用于如果容器Vector1中的数据量大于0,则命令邻域搜索模块工作,否则结束系统工作;
邻域搜索模块,用于提取容器Vector1中的一个未经处理的索引,索引相应的像素点为当前处理的像素点,判断当前处理的像素点邻域范围内是否有相同属性并且具有像素值的像素点,如果有将相应像素点的索引存放于容器Vector2中;
领域数据量判断模块,用于判断容器Vector2中的索引数据量是否为0,
如果容器Vector2中的索引数据量为0,则直接命令邻域搜索模块工作,提取容器Vector1中的下一个未经处理的索引;
如果容器Vector2中的索引数据量大于0,取出容器Vector2中所有索引,根据各索引分别相应的像素值确定一个像素值后赋值给当前处理的像素点,赋值结束后将容器Vector1中当前处理的像素点相应索引删除,判断容器Vector1中剩余未处理的索引个数是否为0,若是则命令循环停止判断模块工作,若否则命令邻域搜索模块工作提取容器Vector1中的下一个未经处理的索引;
循环停止判断模块,用于根据容器Vector1剩余未删除的索引数据量判断是否满足预设的循环停止条件,若否则返回缺失像素值数据量判断模块根据容器Vector1中剩余未删除的索引进行下一次迭代处理,是则输出修补后的图像,结束系统工作。
本发明能够有效修补真正射影像中绝对遮蔽区域,各像素属性明确,能够采用相同属性的像素进行修补,因此保证了最大程度的保真,基本不存在地面像素补到屋顶面上或屋顶面像素补到地面上的情况。
附图说明
图1为本发明实施例的加载DEM示意图;
图2为本发明实施例的加载DBM示意图;
图3为本发明实施例的加载DSM示意图;
图4为本发明实施例的真正射影像绝对遮挡区域修补位置示意图。
图5为本发明实施例的真正射影像绝对遮挡区域修补效果示意图。
具体实施方式
以下结合附图和实施例对本发明技术方案进行具体描述。
传统的基于快速行进法的图像修复方法基本思想是,基于加权平均的方式计算单个待修补像素的纹理,基于快速行进方式从待修补区域外围层层推进填充整个遮蔽区域。由于该方法未考虑真正射影像中各像素点属性的差异,会出现地面点像素填充到屋顶面和屋顶面像素填充到地面的现象以及地面点像素和屋顶面像素加权融合后填充到地面或屋顶而造成的模糊现象。因此本发明提出加载DEM三角网格数据和DBM三角网格数据,根据其覆盖的像素区域对真正射影像中各像素的属性进行区分,分别定性为非网格区域像素、地面像素、建筑(屋顶)像素,分别以-1,0,1表示。加载DEM、DBM,可得到二者叠合的DSM,如图1、2、3。DEM为地面三角网,DBM为建筑三角网,DSM为DEM与DBM融合的数据,表示地面建筑三角网。
具体实施时,本发明技术方案可采用软件技术实现自动流程运行。本发明实施例所提供的一种真正射影像绝对遮挡区域修补方法,包括以下步骤:
步骤1,加载真正射影像(含有绝对遮挡区域,该部分内所有像素点的像素值缺失,即为RGB(0,0,0))及其相应的坐标系统参数(即同名的tfw文件,其中包括横向分辨率、纵向分辨率、左下角像素点对应的真实地理坐标,包含横坐标及纵坐标);分别加载真正射影像相应的DEM三角网格数据和DBM三角网格数据。
步骤2,将真正射影像各像素点初始的属性设定为-1 。
实施例初始化真正射影像中各个像素点的属性值为非网格区域像素,即attribute[i][j]=-1。其中,i为像素的横坐标,j为像素的纵坐标,attribute[i][j]为坐标为(i,j)的像素的属性值。
步骤3,根据DEM三角网格数据,将真正射影像中被DBM三角网格所覆盖的区域内像素点的属性均赋值为0,即标定为地面点。具体实现时可对各个三角片逐个分析,结合真正射影像的坐标参数及分辨率判断该三角片所覆盖的像素区域,被DEM三角网格所覆盖的区域均暂时标定为地面点。
实施例对DEM三角网格中各个DEM三角片,分别判断DEM三角片所覆盖的像素。假设DEM某三角片所对应的三个顶点的真实地理坐标分别为(x1,y1)、(x2,y2)、(x3,y3)。加载真正射影像所附带的坐标参数文件,其中左下角像素的真实地理坐标为(leftdownx,leftdowny) ,横向分辨率为pixelx, 纵向分辨率为pixely 。计算DEM某三角片所对应的三个顶点在真正射影像上的坐标A(p_x1,p_y1)、B(p_x2,p_y2)、C(p_x2,p_y2)。假设某顶点真实地理坐标为(x,y) ,顶点在真正射影像上的坐标(p_x,p_y)的计算方法如下:
p_x=(x-leftdownx)/pixelx;(1)
p_y=(y-leftdowny)/pixely;(2)
其中,p_x为顶点在真正射影像上的横坐标,p_y为顶点在真正射影像上的纵坐标。
三角片对应三个顶点在真正射影像上的坐标A(p_x1,p_y1)、B(p_x2,p_y2)、C(p_x2,p_y2),可根据其真实地理坐标(x1,y1)、(x2,y2)、(x3,y3)及公式(1)、(2)求得。
判断在三角形ABC范围内的像素为伪地面像素。计算三角形ABC的包围盒Box(minx,miny,maxx,maxy) , minx、miny、maxx、maxy分别指三个顶点中横坐标最小值、纵坐标最小值、横坐标最大值、纵坐标最大值。对该包围盒内的像素判断是否在三角形ABC范围内。如果某像素在该三角形ABC范围内,则将该像素的属性值设定为地面点,假设该像素的坐标为(i,j),则其像素属性attribute[i][j]=0。
步骤4,根据DBM三角网格数据,将真正射影像中被DBM三角网格所覆盖的区域内像素点的属性均赋值为1,即标定为建筑点。具体实现方法与步骤3类似。
实施例对各个DBM三角片,分别判断DBM三角片所覆盖的像素。假设DBM某三角片所对应的三个顶点的真实地理坐标分别为(x1,y1)、(x2,y2)、(x3,y3)。计算DEM某三角片所对应的三个顶点在真正射影像上的坐标A(p_x1,p_y1)、B(p_x2,p_y2)、C(p_x2,p_y2)。假设某顶点的真实地理坐标为(x,y),顶点在真正射影像上的坐标(p_x,p_y)按公式(1)、(2)计算。
判断在三角形ABC范围内的像素为屋顶像素。计算三角形ABC的包围盒Box(minx,miny,maxx,maxy) ,minx、miny、maxx、maxy分别指三个顶点中横坐标最小值,纵坐标最小值、横坐标最大值、纵坐标最大值。对该包围盒内的像素判断是否在三角形ABC范围内。如果某像素在该三角形ABC范围内,则将该像素的属性值设定为屋顶点,假设该像素的坐标为(i,j),则其像素属性attribute[i][j]=1。
通过以上步骤1~4获得真正射影像各像素的属性值后,基于像素属性和快速行进方式进行缺失像素的修补。
步骤 5,对真正射影像中各像素点逐个进行判断是否缺失像素值,将缺失像素值的像素点的索引保存在容器Vector1中。缺失像素值的像素点属于绝对遮挡区域。
实施例根据真正射影像相应的像素矩阵设定各个像素的索引,假设该像素的矩阵坐标为(x,y) ,矩阵宽度为w,矩阵高度为h,像素索引值Index则有如下关系 :
Index=x+y×w;
x =Index mod w;
y =(Index-x)/w;
其中,w为真正射影像的宽度,h为真正射影像的高度,mod表示取余,/表示取模。
可预先定义缺失像素值的像素索引的容器Vector1,容器Vector1初始为空,分别判断各个像素(x,y)的像素值是否为RGB (0,0,0),即RGB三个通道上的取值都为0,是则将其索引值加到容器Vector1中。这样Vecotr1中保存了所有缺失像素值的像素索引。
步骤 6,如果容器Vector1中的数据量大于0,就进入步骤7,开始以下的修补进程,否则结束流程。
步骤 7,可预先定义邻域内相同属性像素索引的容器Vector2,容器Vector2初始为空,提取容器Vector1中的一个未经处理的索引,将索引相应的像素点作为当前处理的像素点,判断其邻域(5×5)范围内有无相同属性并且具有像素值的像素点,如果有将该类像素点的索引存放于容器Vector2中。
步骤 8,判断Vector2中的索引数据量是否为0,
如果容器Vector2中的索引数据量为0,则直接返回步骤7,提取容器Vector1中的下一个未经处理的索引;
如果容器Vector2中的索引数据量大于0,取出容器Vector2中所有索引,容器Vector2恢复为空,根据各索引分别相应的像素值确定一个像素值后赋值给当前处理的像素点,赋值结束后将容器Vector1中当前处理的像素点相应索引删除,判断容器Vector1中剩余未处理的索引个数是否为0,若是则进入步骤9,若否则返回进入步骤7提取容器Vector1中的下一个未经处理的索引。具体实施时,本领域技术人员可自行指定修补取值方式,建议根据各索引分别相应的像素值,采用求平均的方式确定用于修补的像素值。
步骤 9,此时步骤5所得容器Vector1中的所有索引经过步骤7和步骤8逐个处理结束,判断容器Vector1剩余未删除的索引数据量,若不满足预设的循环停止条件则返回步骤6根据容器Vector1中剩余未删除的索引进行下一次迭代处理,否则输出修补后的图像,结束流程。
根据快速行进方式修补过程需要多轮逐步推进的过程才能完成整个修补过程,其在修补过程中难免会遇到有些像素的属性值与其邻近区域的像素属性全不一样的,到修补的后期,虽然未修补的像素数目大于0,仍满足继续修补的条件,但是继续修补不能减少缺失像素的数目。因此可以计算各次修补后剩余未修补的像素数目,如果经过一轮修补后,该数目与上次比未减少则认为满足循环停止条件,退出修补,从而实现自动循环控制。
具体实施时,也可以弹出对话框,提示该数据量请求返回是否继续修补。如果用户选择继续修补则返回步骤6;如果选择退出修补则输出修补后的图像,结束流程。
通过以上步骤5~9,实施例基于真正射影像各像素属性值和快速行进方式进行绝对遮蔽区域的修补。针对缺失像素的区域多次迭代,可以由待修补区域(即绝对遮挡区域)外围层层推进直到最内层完成修补,即提取容器Vector1中的未经处理的索引时,按照对绝对遮挡区域从外到内的顺序实现确定当前处理的像素点,内层可根据外层的修补结果进行相应修补。实施例的修补过程中,针对缺失像素判断其5×5邻域内的相同属性值且具有像素值的像素索引,放置在容器Vector2中。如果Vector2是空的,则该待修补像素不修补;如果Vector2不为空,则将其中像素的像素值取出并求平均后赋给待修补像素,同时将该待修补像素的索引值从Vector1中删除。这样就能保证修补后,Vector1中的缺失像素点的数目逐渐减少。将Vector2中像素的像素值取出并求平均后赋给待修补像素时,是将RGB三个通道上的取值分别相加后除以像素数目,得到新的RGB值。
实施例判断修补退出迭代循环的条件为:经过一轮修补后,Vector1中的缺失像素点的数目不再减小。具体方式是在每次进入步骤9时迭代处理后记录Vector1中的剩余缺失像素点的数目,设上一次迭代处理后记录Vector1中剩余未删除的索引数据量为num1,在当前迭代处理后记录Vector1中剩余未删除的索引数据量为num2。循环停止条件为,如果num2=num1,则退出修补循环。
根据上述实施方式,能保证邻域的地面像素修补缺失的地面像素、邻域的屋顶像素修补缺失的屋顶像素,并且保证缺失区域得到最大程度的修补。
本发明还相应提供一种真正射影像绝对遮挡区域修补系统,包括以下模块:
加载模块,用于加载真正射影像及相应的坐标系统参数,分别加载真正射影像相应的DEM三角网格数据和DBM三角网格数据,所述DEM为地面三角网,所述DBM为建筑三角网;
初始化模块,用于将真正射影像各像素点初始的属性设定为-1;
地面点标定模块,用于根据DEM三角网格数据,将真正射影像中被DEM三角网格所覆盖的区域内像素点的属性均赋值为0,标定为地面点;
建筑点标定模块,用于根据DBM三角网格数据,将真正射影像中被DBM三角网格所覆盖的区域内像素点的属性均赋值为1,标定为建筑点;
缺失像素值搜索模块,用于对真正射影像中各像素点逐个进行判断是否缺失像素值,缺失像素值的像素点属于绝对遮挡区域,将缺失像素值的像素点的索引保存在容器Vector1中;
缺失像素值数据量判断模块,用于如果容器Vector1中的数据量大于0,则命令邻域搜索模块工作,否则结束系统工作;
邻域搜索模块,用于提取容器Vector1中的一个未经处理的索引,索引相应的像素点为当前处理的像素点,判断当前处理的像素点邻域范围内是否有相同属性并且具有像素值的像素点,如果有将相应像素点的索引存放于容器Vector2中;
领域数据量判断模块,用于判断容器Vector2中的索引数据量是否为0,
如果容器Vector2中的索引数据量为0,则直接命令邻域搜索模块工作,提取容器Vector1中的下一个未经处理的索引;
如果容器Vector2中的索引数据量大于0,取出容器Vector2中所有索引,根据各索引分别相应的像素值确定一个像素值后赋值给当前处理的像素点,赋值结束后将容器Vector1中当前处理的像素点相应索引删除,判断容器Vector1中剩余未处理的索引个数是否为0,若是则命令循环停止判断模块工作,若否则命令邻域搜索模块工作提取容器Vector1中的下一个未经处理的索引;
循环停止判断模块,用于根据容器Vector1剩余未删除的索引数据量判断是否满足预设的循环停止条件,若否则返回缺失像素值数据量判断模块根据容器Vector1中剩余未删除的索引进行下一次迭代处理,是则输出修补后的图像,结束系统工作。
各模块具体实现和各步骤相应,本发明不予赘述。
为验证本发明效果进行了模拟数据实验:
设置模拟数据包括DEM、DBM、真正射影像、存在缺失像素区域的正射影像。DEM为三角网格数据,长400米,宽300米;DBM为三角网格数据,区域为DEM范围内的两个长方形区域,长、宽分别为100米和50米;正射影像对应的空间区域是DEM的包围盒区域, 如图4,DEM区域而非DBM区域即地面区域、DBM的第一个建筑区域标记为1、第二个建筑区域标记为2,黑色区域为缺失像素区域,涉及地面区域和建筑区域,修补结果可参见图5。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (8)
1.一种真正射影像绝对遮挡区域修补方法,其特征在于,执行以下步骤:
步骤1,加载真正射影像及相应的坐标系统参数,分别加载真正射影像相应的DEM三角网格数据和DBM三角网格数据,所述DEM为地面三角网,所述DBM为建筑三角网;
步骤2,将真正射影像各像素点初始的属性设定为-1;
步骤3,根据DEM三角网格数据,将真正射影像中被DEM三角网格所覆盖的区域内像素点的属性均赋值为0,标定为地面点;
步骤4,根据DBM三角网格数据,将真正射影像中被DBM三角网格所覆盖的区域内像素点的属性均赋值为1,标定为建筑点;
步骤5,对真正射影像中各像素点逐个进行判断是否像素值为RGB(0,0,0),像素值为RGB(0,0,0)的像素点属于绝对遮挡区域,视为缺失像素值,将缺失像素值的像素点的索引保存在容器Vector1中;
步骤6,如果容器Vector1中的数据量大于0,则进入步骤7,否则结束流程;
步骤7,提取容器Vector1中的一个未经处理的索引,索引相应的像素点为当前处理的像素点,判断当前处理的像素点邻域范围内是否有相同属性并且具有像素值的像素点,如果有将相应像素点的索引存放于容器Vector2中;
步骤8,判断容器Vector2中的索引数据量是否为0,
如果容器Vector2中的索引数据量为0,则直接返回步骤7,提取容器Vector1中的下一个未经处理的索引;
如果容器Vector2中的索引数据量大于0,取出容器Vector2中所有索引,根据各索引分别相应的像素值确定一个像素值后赋值给当前处理的像素点,赋值结束后将容器Vector1中当前处理的像素点相应索引删除,判断容器Vector1中剩余未处理的索引个数是否为0,若是则进入步骤9,若否则返回进入步骤7提取容器Vector1中的下一个未经处理的索引;
步骤9,根据容器Vector1剩余未删除的索引数据量判断是否满足预设的循环停止条件,若否则返回步骤6根据容器Vector1中剩余未删除的索引进行下一次迭代处理,是则输出修补后的图像,结束流程。
2.根据权利要求1所述真正射影像绝对遮挡区域修补方法,其特征在于:步骤3的实现方式如下,
设DEM三角网格中某三角片所对应的三个顶点的真实地理坐标分别为(x1,y1)、(x2,y2)、(x3,y3),根据坐标系统参数计算DEM某三角片所对应的三个顶点在真正射影像上的坐标A(p_x1,p_y1)、B(p_x2,p_y2)、C(p_x2,p_y2),计算三角形ABC的包围盒,对该包围盒内的像素点判断是否在三角形ABC范围内,如某像素点在该三角形ABC范围内,则将该像素的属性值赋值为0,标定为地面点。
3.根据权利要求1所述真正射影像绝对遮挡区域修补方法,其特征在于:步骤4的实现方式如下,
设DBM三角网格中某三角片所对应的三个顶点的真实地理坐标分别为(x1,y1)、(x2,y2)、(x3,y3),根据坐标系统参数计算DBM某三角片所对应的三个顶点在真正射影像上的坐标A(p_x1,p_y1)、B(p_x2,p_y2)、C(p_x2,p_y2),计算三角形ABC的包围盒,对该包围盒内的像素点判断是否在三角形ABC范围内,如某像素点在该三角形ABC范围内,则将该像素的属性值赋值为1,标定为建筑点。
4.根据权利要求2或3所述真正射影像绝对遮挡区域修补方法,其特征在于:所述坐标系统参数包括横向分辨率、纵向分辨率、左下角像素点对应的真实地理坐标,设左下角像素的真实地理坐标为(leftdownx,leftdowny),横向分辨率为pixelx,纵向分辨率为pixely;
设某顶点真实地理坐标为(x,y),顶点在真正射影像上的坐标(p_x,p_y)的计算方法如下,p_x=(x-leftdownx)/pixelx;
p_y=(y-leftdowny)/pixely;
其中,p_x为顶点在真正射影像上的横坐标,p_y为顶点在真正射影像上的纵坐标。
5.根据权利要求1所述真正射影像绝对遮挡区域修补方法,其特征在于:步骤5中,设某像素点的矩阵坐标为(x,y),相应索引取值Index如下,
Index=x+y×w;
x=Index mod w;
y=(Index-x)/w;
其中,w为真正射影像的宽度,mod表示取余,/表示取模。
6.根据权利要求1所述真正射影像绝对遮挡区域修补方法,其特征在于:步骤7中,提取容器Vector1中的一个未经处理的索引时,按照对绝对遮挡区域由外到内的顺序实现。
7.根据权利要求1所述真正射影像绝对遮挡区域修补方法,其特征在于:步骤9中,循环停止条件为,在当前迭代处理后记录容器Vector1中剩余未删除的索引数据量等于上一次迭代处理后记录容器Vector1中剩余未删除的索引数据量。
8.一种真正射影像绝对遮挡区域修补系统,其特征在于,包括以下模块:
加载模块,用于加载真正射影像及相应的坐标系统参数,分别加载真正射影像相应的DEM三角网格数据和DBM三角网格数据,所述DEM为地面三角网,所述DBM为建筑三角网;
初始化模块,用于将真正射影像各像素点初始的属性设定为-1;
地面点标定模块,用于根据DEM三角网格数据,将真正射影像中被DEM三角网格所覆盖的区域内像素点的属性均赋值为0,标定为地面点;
建筑点标定模块,用于根据DBM三角网格数据,将真正射影像中被DBM三角网格所覆盖的区域内像素点的属性均赋值为1,标定为建筑点;
缺失像素值搜索模块,用于对真正射影像中各像素点逐个进行判断是否像素值为RGB(0,0,0),像素值为RGB(0,0,0)的像素点属于绝对遮挡区域,视为缺失像素值,将缺失像素值的像素点的索引保存在容器Vector1中;
缺失像素值数据量判断模块,用于如果容器Vector1中的数据量大于0,则命令邻域搜索模块工作,否则结束系统工作;
邻域搜索模块,用于提取容器Vector1中的一个未经处理的索引,索引相应的像素点为当前处理的像素点,判断当前处理的像素点邻域范围内是否有相同属性并且具有像素值的像素点,如果有将相应像素点的索引存放于容器Vector2中;
领域数据量判断模块,用于判断容器Vector2中的索引数据量是否为0,
如果容器Vector2中的索引数据量为0,则直接命令邻域搜索模块工作,提取容器Vector1中的下一个未经处理的索引;
如果容器Vector2中的索引数据量大于0,取出容器Vector2中所有索引,根据各索引分别相应的像素值确定一个像素值后赋值给当前处理的像素点,赋值结束后将容器Vector1中当前处理的像素点相应索引删除,判断容器Vector1中剩余未处理的索引个数是否为0,若是则命令循环停止判断模块工作,若否则命令邻域搜索模块工作提取容器Vector1中的下一个未经处理的索引;
循环停止判断模块,用于根据容器Vector1剩余未删除的索引数据量判断是否满足预设的循环停止条件,若否则返回缺失像素值数据量判断模块根据容器Vector1中剩余未删除的索引进行下一次迭代处理,是则输出修补后的图像,结束系统工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510042922.3A CN104599251B (zh) | 2015-01-28 | 2015-01-28 | 一种真正射影像绝对遮挡区域修补方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510042922.3A CN104599251B (zh) | 2015-01-28 | 2015-01-28 | 一种真正射影像绝对遮挡区域修补方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104599251A CN104599251A (zh) | 2015-05-06 |
CN104599251B true CN104599251B (zh) | 2017-07-28 |
Family
ID=53125001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510042922.3A Active CN104599251B (zh) | 2015-01-28 | 2015-01-28 | 一种真正射影像绝对遮挡区域修补方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104599251B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959543B (zh) * | 2016-05-19 | 2019-04-30 | 努比亚技术有限公司 | 一种去除反光的拍摄装置和方法 |
CN108551552B (zh) * | 2018-05-14 | 2020-09-01 | Oppo广东移动通信有限公司 | 图像处理方法、装置、存储介质及移动终端 |
CN109636840B (zh) * | 2018-12-19 | 2021-05-25 | 桂林理工大学 | 一种基于鬼影像检测建筑物阴影的方法 |
CN113542670B (zh) * | 2021-02-24 | 2023-04-18 | 上海汉时信息科技有限公司 | 检测方法、检测装置和检测系统 |
CN113327229B (zh) * | 2021-05-27 | 2023-09-22 | 扬州大学 | 一种快速定位像点网格的方法 |
CN113658082A (zh) * | 2021-08-24 | 2021-11-16 | 李蕊男 | 五镜头倾斜相机tdom遮挡区域修复方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2548515A1 (en) * | 2010-11-11 | 2013-01-23 | Olympus Medical Systems Corp. | Ultrasound observation device, operation method of ultrasound observation device, and operation program of ultrasound device |
CN103839286A (zh) * | 2014-03-17 | 2014-06-04 | 武汉大学 | 一种对象语义约束的真正射影像优化采样方法 |
CN104200527A (zh) * | 2014-09-02 | 2014-12-10 | 西安煤航信息产业有限公司 | 一种真正射影像的生成方法 |
-
2015
- 2015-01-28 CN CN201510042922.3A patent/CN104599251B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2548515A1 (en) * | 2010-11-11 | 2013-01-23 | Olympus Medical Systems Corp. | Ultrasound observation device, operation method of ultrasound observation device, and operation program of ultrasound device |
CN103839286A (zh) * | 2014-03-17 | 2014-06-04 | 武汉大学 | 一种对象语义约束的真正射影像优化采样方法 |
CN104200527A (zh) * | 2014-09-02 | 2014-12-10 | 西安煤航信息产业有限公司 | 一种真正射影像的生成方法 |
Non-Patent Citations (4)
Title |
---|
A METHOD FOR TRUE ORTHOPHOTO GENERATION BASED ON PROJECTION AND ITERATION STRATEGY;X.Wang等;《ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences》;20120901;第1-4卷;第311-314页 * |
光线追踪遮挡检测算法;肖卫峰等;《测绘学报》;20140831;第43卷(第8期);第862-868页 * |
基于DEM和DBM的真正射影像制作关键问题研究;陈济才等;《遥感技术与应用》;20120430;第27卷(第2期);第168-172页 * |
真正射影像生成的多边形反演成像遮蔽检测方法;钟成等;《测绘学报》;20100228;第39卷(第1期);第59-64页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104599251A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104599251B (zh) | 一种真正射影像绝对遮挡区域修补方法及系统 | |
CN103177475B (zh) | 一种街景地图展现方法及系统 | |
CN103383773B (zh) | 一种动态提取图像控制点的遥感卫星图像自动正射纠正的框架和方法 | |
CN107610131A (zh) | 一种图像裁剪方法和图像裁剪装置 | |
US20120141014A1 (en) | Color balancing for partially overlapping images | |
US9305329B2 (en) | Low memory content aware fill | |
CN104408757B (zh) | 一种向驾驶场景视频中添加雾霾效果的方法及系统 | |
US9454803B1 (en) | System and method for scene dependent multi-band blending | |
CN109767479B (zh) | 一种基于动态边界组序列的图元填充方法和系统 | |
CN111784840B (zh) | 基于矢量数据自动分割lod层级三维数据单体化方法及系统 | |
CN1731449A (zh) | 一种图像修复方法 | |
CN111915662A (zh) | 一种三维激光点云数据预处理方法和装置 | |
KR102158390B1 (ko) | 영상 처리 방법 및 장치 | |
Garcia-Dorado et al. | Automatic urban modeling using volumetric reconstruction with surface graph cuts | |
CN105825543A (zh) | 基于低空遥感影像的多视密集点云生成方法及系统 | |
TWI439961B (zh) | Conversion algorithm for voids generated after converting 2D images | |
CN110264397A (zh) | 一种提取鱼眼图像的有效区域的方法和装置 | |
CN115393548A (zh) | 一种适用于三维重建的网格纹理化简算法 | |
CN112002007B (zh) | 基于空地影像的模型获取方法及装置、设备、存储介质 | |
CN113658144A (zh) | 路面病害几何信息的确定方法、装置、设备及介质 | |
CN107767414A (zh) | 混合精度的扫描方法及系统 | |
CN109920038B (zh) | 一种生成地形混合贴图材质的方法 | |
CN106327449A (zh) | 一种图像修复方法、应用和计算设备 | |
Fan et al. | Collaborative three-dimensional completion of color and depth in a specified area with superpixels | |
Huang et al. | A patch-based image inpainting based on structure consistence |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |