三维空间下地质矿产图的自动裁剪与映射方法及系统技术方案

技术编号:39160205 阅读:15 留言:0更新日期:2023-10-23 15:02
本发明专利技术公开了一种三维空间下地质矿产图的自动裁剪与映射方法,包括以下步骤:S1、获取用户输入的地质矿产图像制图区域的四角坐标;S2、将四角坐标排序为顺时针凸四边形Q;S3、在凸四边形Q中找到正确的左下角点;S4、设找到的凸四边形Q的左下角为点a,按顺时针顺序凸四边形Q的点依次为a、b、c、d;S5、建立一张高度为H,宽度为W的图像,设该图像的左下角点为A,按顺时针顺序该图像四角坐标依次为A、B、C、D;S6、使用透视变换及线性插值将凸四边形Q的点a、b、c、d变换至点A、B、C、D,完成地质矿产图像的裁剪与映射。本发明专利技术可自动将地质矿产图像以符合人直觉的方式快速裁剪与透视变换校正。觉的方式快速裁剪与透视变换校正。觉的方式快速裁剪与透视变换校正。

【技术实现步骤摘要】
三维空间下地质矿产图的自动裁剪与映射方法及系统


[0001]本专利技术涉及地理信息软件系统领域,尤其涉及一种三维空间下地质矿产图的自动裁剪与映射方法及系统。

技术介绍

[0002]受传统的工作方式所限制,传统的地质矿产图件几乎都是二维图件。为了在现代三维系统中使用传统二维图件,最基本的方法便是将地质矿产图件栅格化后作为贴图贴至三维模型上。由于地质矿产图件是用于科研及工程的重要材料,贴图与三维场景内的其他元素(例如三维地形)的相对位置至关重要,因此需要按照一定的流程方法将贴图放置到正确的空间坐标之上。
[0003]目前实时三维
最为通用的贴图方法即UV贴图。UV贴图描述了纹理中哪个部分应附加到模型中的哪个多边形上。每个多边形的顶点被分配到二维坐标,该坐标定义图像的哪个部分被映射。这些二维坐标称为UV(将其与三维中的XYZ坐标进行比较)。生成这些UV贴图的操作也称为“展开”,因为它就像是网格展开到二维平面上一样。通常UV坐标分量的取值范围是0~1,贴图的左上角坐标为(0,0),右下角为(0,1)。
[0004]但是现有技术中的贴图面临一个问题,便是制图区域的四角该如何与矩形贴图的四角进行对应,因为受限于图幅的切割方式和坐标投影,地质矿产图幅的制图区域在平面上通常不是一个规则四边形,而仅是一个凸四边形。
[0005]如图1所示,将abcd透视变换至ABCD,人直觉判断的对应关系应是A

a,B

b,C

c,D

d。对于左侧图像,这种对应关系用数学表达也很简单,即Y坐标最大的对应到A,X坐标最小的对应至B,Y坐标最小的对应到C,X坐标最大的对应至D。但对于右侧图形,按照以上方法,会导致A对应至d,违反人的直觉。
[0006]用几何语言描述该问题,即对于任意一个顺时针顺序的凸四边形ABCD,如何找到符合人直觉的“左下角”的点。当左下角点找到后,其他点的对应位置便也确定了。
[0007]对于该问题,在图像识别领域已被讨论过,但均没有较为实用的全自动处理方案。如在CSDN网站曾有人提出“先计算出这四个点的中心位置,然后根据中心位置来做判断。那么中心位置就是把他们四个点的坐标全部加起来再除以4。然后根据点的y坐标值,与中心点y的值比较。大于中心点坐标y的为底下。小于中心点坐标y的为顶上。(x是向右的,y坐标是向下的)区分好了上下之后,再在上下的点集分别分出左右来。x坐标小于中心点就是左,x坐标大于中心点就是右。”经过实际测试,该方法误判率较高,其原文作者也指出“这样排列的坐标关系,有时候需要再转个90度才能满足我们的需求。”而什么时候需要转这个90度,该方法无法给出,只有在用户看到处理结果违反直觉时,才能够人工做出判断。
[0008]在StackExchange网站的数学板块,也有人提出过相关的解决办法,但均类似于上文的解决办法,即通过点的坐标值大小比较确定起点。而实践已经证明仅通过坐标值大小比较做出的判断不可靠。

技术实现思路

[0009]本专利技术主要目的在于提供一种三维空间下地质矿产图的自动裁剪与映射方法及系统,可以找到任意一个凸四边形的符合人直觉的“左下角”,从而实现对二维地质矿产图幅进行快速裁剪与透视变换校正,使其能够在三维空间贴图至正确位置。
[0010]本专利技术所采用的技术方案是:
[0011]提供一种三维空间下地质矿产图的自动裁剪与映射方法,包括以下步骤:
[0012]S1、获取用户输入的地质矿产图像制图区域的四角坐标;其中该地质矿产图像所在坐标系右为X正方向,下为Y正方向;
[0013]S2、将四角坐标排序为顺时针凸四边形Q,该凸四边形Q的高度为H,宽度为W;
[0014]S3、在凸四边形Q中找到正确的左下角点,具体包括以下步骤:
[0015]在凸四边形Q中找到横坐标X最小的点L,找到纵坐标Y最大的点B;
[0016]1)如果点L与点B是同一个点,则该点L为左下角点;
[0017]2)如果点L与点B不是相邻的点,则点L的前一个点为左下角点;
[0018]3)如果以上条件不满足,则进行如下计算:
[0019]i.计算点L和点B的中点M1,计算凸四边形Q中另外两点的中点M2;
[0020]ii.计算中点M1与中点M2的向量差V,并计算ii.计算中点M1与中点M2的向量差V,并计算其中表示逐元素向量除,<W,H>表示标量W和H组成的向量;
[0023]iii.如果V

的X分量长度小于Y分量长度,则点L为左下角点;否则,点B为左下角点;
[0024]S4、设找到的凸四边形Q的左下角为点a,按顺时针顺序凸四边形Q的点依次为a、b、c、d;
[0025]S5、建立一张高度为H,宽度为W的图像,设该图像的左下角点为A,按顺时针顺序该图像四角坐标依次为A、B、C、D;
[0026]S6、使用透视变换及线性插值将凸四边形Q的点a、b、c、d变换至点A、B、C、D,完成地质矿产图像的裁剪与映射。
[0027]接上述技术方案,具体使用Python GDAL的ConvexHull函数计算该凸四边形Q的左下角点。
[0028]接上述技术方案,该方法还包括步骤S7、将裁剪与映射后的地质矿产图像以贴图的方式叠加到三维引擎中并显示。
[0029]本专利技术还提供一种三维空间下地质矿产图的自动裁剪与映射系统,包括:
[0030]地质矿产图像四角坐标获取模块,用于获取用户输入的地质矿产图像制图区域的四角坐标;其中该地质矿产图像所在坐标系右为X正方向,下为Y正方向;
[0031]计算模块,用于通过计算将四角坐标排序为顺时针凸四边形Q,该凸四边形Q的高度为H,宽度为W;
[0032]左下角点寻找模块,用于在凸四边形Q中找到正确的左下角点,具体包括以下步骤:
[0033]在凸四边形Q中找到横坐标X最小的点L,找到纵坐标Y最大的点B;
[0034]1)如果点L与点B是同一个点,则该点L为左下角点;
[0035]2)如果点L与点B不是相邻的点,则点L的前一个点为左下角点;
[0036]3)如果以上条件不满足,则进行如下计算:
[0037]i.计算点L和点B的中点M1,计算凸四边形Q中另外两点的中点M2;
[0038]ii.计算中点M1与中点M2的向量差V,并计算
[0039]其中表示逐元素向量除,<W,H>表示标量W和H组成的向量;
[0040]iii.如果V

的X分量长度小于Y分量长度,则点L为左下角点;否则,点B为左下角点;
[0041]设置模块,用于设找到的凸四边形Q的左下角为点a,按顺时针顺序凸四边形Q的点依次为a、b、c、d;
[0042]贴图构建模块,用于建立一张高度为H,宽度为W的图像,设该图像的左下角点为A,按顺时针顺序本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种三维空间下地质矿产图的自动裁剪与映射方法,其特征在于,包括以下步骤:S1、获取用户输入的地质矿产图像制图区域的四角坐标;其中该地质矿产图像所在坐标系右为X正方向,下为Y正方向;S2、将四角坐标排序为顺时针凸四边形Q,该凸四边形Q的高度为H,宽度为W;S3、在凸四边形Q中找到正确的左下角点,具体包括以下步骤:在凸四边形Q中找到横坐标X最小的点L,找到纵坐标Y最大的点B;1)如果点L与点B是同一个点,则该点L为左下角点;2)如果点L与点B不是相邻的点,则点L的前一个点为左下角点;3)如果以上条件不满足,则进行如下计算:i.计算点L和点B的中点M1,计算凸四边形Q中另外两点的中点M2;ii.计算中点M1与中点M2的向量差V,并计算其中表示逐元素向量除,<W,H>表示标量W和H组成的向量;iii.如果V

的X分量长度小于Y分量长度,则点L为左下角点;否则,点B为左下角点;S4、设找到的凸四边形Q的左下角为点a,按顺时针顺序凸四边形Q的点依次为a、b、c、d;S5、建立一张高度为H,宽度为W的图像,设该图像的左下角点为A,按顺时针顺序该图像四角坐标依次为A、B、C、D;S6、使用透视变换及线性插值将凸四边形Q的点a、b、c、d变换至点A、B、C、D,完成地质矿产图像的裁剪与映射。2.根据权利要求1所述的三维空间下地质矿产图的自动裁剪与映射方法,其特征在于,具体使用Python GDAL的ConvexHull函数计算该四角坐标的凸包,并按照顺时针顺序。3.根据权利要求1所述的三维空间下地质矿产图的自动裁剪与映射方法,其特征在于,该方法还包括步骤S7、将裁剪与映射后的地质矿产图像以贴图的方式叠加到三维引擎中并显示。4.一种三维空间下地质矿产图的自动裁剪与映射系统,其特征在于,包括:地质矿产图像四角坐标获取模块,用于获取用户输入的地质矿产图像制图区域的四角坐标;其中该地质...

【专利技术属性】
技术研发人员:吴健辉薛兆龙林毅斌林德才王书存舒德福洛桑尖措卫建刚索朗卓嘎吴松豆孝芳郑有业
申请(专利权)人:中国地质大学北京
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1