一种三维地形生成方法技术 您所在的位置:网站首页 unity凹陷地形 一种三维地形生成方法技术

一种三维地形生成方法技术

2023-02-25 07:04| 来源: 网络整理| 查看: 265

本发明专利技术属于三维图形领域,公开了一种三维地形生成方法。为了应对游戏、影视、军事仿真、飞行器模拟等领域的快速发展促使地形生成需求急剧增加,如何高效地生成高质量地形以满足大量需求的问题以及传统建模方法,需要繁杂的摄像过程以及人工手动建模,需要浪费大量的人力物力的问题。本发明专利技术利用现有的建筑物模型,将建筑物遥感图像中的建筑物图像剪切,使用哈希算法与建筑物模型进行匹配并保存为json文件,使用Unity引擎中的Terrain地形编辑器,根据高度图及遥感图像分割后的图片生成相应的地形及贴图,读取json文件生成建筑物,实现三维地形的生成。有效地解决了当下3D实景建模需要复杂工序的问题。要复杂工序的问题。要复杂工序的问题。

全部详细技术资料下载

【技术实现步骤摘要】 一种三维地形生成方法

[0001]本专利技术属于三维图形,具体为一种三维地形生成方法。

技术介绍

[0002]随着遥感技术的不断发展,遥感影像的空间信息更加丰富和精细。同时,遥感影像的复杂性也对遥感影像的分类技术提出了更高的要求。然而,面对遥感影像中更明显的几何结构和更丰富的纹理特征,如何设计合理的特征体系、选择合适的分类模型,对探索深度学习模型在遥感影像分类中的应用具有研究意义。[0003]在遥感技术发展的同时,虚拟现实技术也在快速发展,地形建模是虚拟漫游设计与实现的关键技术,以地形地貌为研究重点的地形三维建模技术在地理信息系统(GIS)、虚拟现实(VR)、战场环境仿真、娱乐游戏、土地管理与利用、水文气象数据可视化等多个领域得到了广泛的应用。在计算机图形学领域,三维可视化是一个重要的研究方向,许多研究人员己经进行了大量卓有成效的研究,并有许多成熟的技术己经应用到实际中,出现了大量的优秀的可视化软件产品,如3DMAX、MAYA、EVS、AVS等。这些产品主要应用于游戏、电影动画、工业设计以及其它专业领域的研究。1987年由B.H.Mccormick等根据美国国家科学基金会召开的“科学计算可视化研讨会”的内容撰写的一份报告中正式提出了“科学计算可视化”的概念,从此标志着一门新的可视化学科的问世。在地形可视化建模方面大致可以分为:数据拟合生成三维地形、利用分形技术生成三维地形、基于数字地形模型的地形可视化。近年来,国内外在空间信息三维可视化方面的研究工作主要集中在运用动画技术制作动态地图,可用于涉及时空变化的现象或概念的可视性分析以及运用虚拟现实技术进行地形环境仿真,真实再现地景,进行交互观察和分析,在空间信息三维可视化方面的研究取得了长足的发展和进步。[0004]因此,为了应对游戏、影视、军事仿真、飞行器模拟等领域的快速发展促使地形生成需求急剧增加的问题,急需一种高效生成高质量三维地形的方法以满足大量的需求。对于传统建模方法,需要繁杂的摄像过程以及人工手动建模,需要浪费大量的人力物力。而通过Unity3D的三维地形建模,是利用其自带的Terrain地形引擎工具,导入Photoshop绘制的黑白图形,并利用Unity的画笔工具绘制相应地形,此方法方便快捷,仿真度高。因此本专利技术基于Unity3D平台建立了一种三维地形生成方法。

技术实现思路

[0005]为了应对游戏、影视、军事仿真、飞行器模拟等领域的快速发展促使地形生成需求急剧增加,如何高效地生成高质量地形以满足大量需求的问题以及传统建模方法,需要繁杂的摄像过程以及人工手动建模,需要浪费大量的人力物力的问题,本专利技术提供了一种三维地形生成方法。该方法适用于利用复杂的城市地表遥感图像的语义分割结果进行三维地形生成。[0006]为了达到上述目的,本专利技术采用了下列技术方案:[0007]本专利技术提供了一种三维地形生成方法,包括以下步骤:[0008]步骤1,利用图像处理软件,将语义分割得到的水系、植被、道路、建筑物mask图片背景填充为黑色;[0009]步骤2,提取每个建筑物的轮廓;[0010]步骤3,求每个轮廓的质心坐标;[0011]步骤4,通过cv2中rect函数获取步骤2中得到的每个轮廓的最小外接矩形,rect_width、rect_height、rect_angle、rect_x、rect_y获取到外接矩形的宽高、旋转角度、位置坐标,取整,其中角度取绝对值;对于每个轮廓,轮廓上的每个像素点逆时针旋转rect_angle的绝对值角度,将倾斜的轮廓“摆正”;[0012]步骤5,每次处理完一个步骤4中得到的轮廓后,创建一个和原图同比例大小的白色背景图,在此图上将旋转后的轮廓绘制出来,轮廓里填充成黑色;根据不同类别大小进行裁剪并将其分类保存;[0013]步骤6,读取步骤5中图片,将图片与模型库中的建筑物垂直投影利用均值hash算法进行hash匹配,得到最匹配的模型,并生成对应的json文件以便后续地形生成;[0014]步骤7,根据分割得到的水系分布图,设置地形下陷,生成水体地形凹陷;[0015]步骤8,利用高度图和Terrain生成与步骤7地形一样的mesh,给mesh一个水的材质;[0016]步骤9,根据地形的数据给创建地形后所有地形贴图,使得贴图后的地形真实美观;[0017]步骤10,遍历草地分布图,生成草地与植被;;[0018]步骤11,根据坐标和角度实例化建筑,在模型库中把对应的建筑放置到对应的位置上。[0019]进一步,所述步骤2中提取每个建筑物的轮廓是利用经典的Canny边缘检测算子,具体方法是:使用OpenCV读取指定图片,将图片转换成灰度图,使用高斯模糊消除图片中出现的噪点,然后把图片二值化,使用findContours函数提取检测到的所有轮廓,以及每个轮廓的坐标点。[0020]进一步,所述步骤3获取轮廓质心坐标的具体方法是:先读取到每个轮廓的矩阵放到变量M中,根据公式得到所有建筑物的质心坐标,将其存放到centers二维数组中。[0021]进一步,所述步骤6中将图片与模型库中的建筑物垂直投影利用均值hash算法进行hash匹配具体包括以下步骤:[0022](1)缩放图片:将输入的图片缩放到指定比例大小;[0023](2)转灰度图:统一将输入的图片的色彩转换为单通道的灰度图;[0024](3)计算像素平均值:计算经过图片缩放,灰度图转换后得到矩阵A中所有元素的平均值a;[0025](4)hash值计算:对输入的图片的hash值进行初始化,再从左到右一行一行地遍历矩阵A的每一个像素,如果第i行j列元素A(i,j)值大于或者等于a,则hash值加1,如果第i行j列元素A(i,j)小于a,则hash值不变;[0026](5)获得输入图片的哈希值之后,循环比较两个图片的hash值来计算两个图片相似度,若某一位不同,则汉明距离+1,用最终的汉明距离作为相似度的参考值,设定一个阈值,在一定的范围内,若两张图片的汉明距离小于阈值,则可以认为这两张图片为相似图片。[0027]进一步,所述步骤7中生成水体地形凹陷的具体方法是:根据高度图的颜色确定地形的高度,遍历高度图的像素颜色把高度信息设置到Terrain的地形中;再预先用高斯模糊处理水系分布图,遍历水系分布图,用水系的颜色乘上下陷数值,把地形原来高度减去下限的数值;重新把高度设置到Terrain上,达到水系位置地形下降的效果。[0028]进一步,所述步骤8中水的材质的shader中利用水域分布图作为模版,黑色不显示而非黑色显示为水。[0029]进一步,所述步骤9中给所有地形贴图功能具体过程为:首先判断是哪种地形,根据不同地形给数据赋值,遍历所有数据后,将值赋给map数组,此数组提供要替换的部分的宽度和高度,与splatmap贴图数量相匹配,之后将Terrain对应位置的贴图替换。[本文档来自技高网...

【技术保护点】

【技术特征摘要】 1.一种三维地形生成方法,其特征在于,包括以下步骤:步骤1,利用图像处理软件,将语义分割得到的水系、植被、建筑物、道路mask图片背景填充为黑色;步骤2,提取每个建筑物的轮廓;步骤3,求每个轮廓的质心坐标;步骤4,通过cv2中rect函数获取步骤2中得到的每个轮廓的最小外接矩形,rect_width、rect_height、rect_angle、rect_x、rect_y获取到外接矩形的宽高、旋转角度、位置坐标,取整,其中角度取绝对值;对于每个轮廓,轮廓上的每个像素点逆时针旋转rect_angle的绝对值角度,将倾斜的轮廓“摆正”;步骤5,每次处理完一个步骤4中得到的轮廓后,创建一个和原图同比例大小的白色背景图,在此图上将旋转后的轮廓绘制出来,轮廓里填充成黑色;根据不同类别大小进行裁剪并将其分类保存;步骤6,读取步骤5中图片,将图片与模型库中的建筑物垂直投影利用均值hash算法进行hash匹配,得到最匹配的模型,并生成对应的json文件以便后续地形生成;步骤7,根据分割得到的水系分布图,设置地形下陷,生成水体地形凹陷;步骤8,利用高度图和Terrain生成与步骤7地形一样的mesh,给mesh一个水的材质;步骤9,根据地形的数据给创建地形后所有地形贴图,使得贴图后的地形真实美观;步骤10,遍历草地分布图,生成草地与植被;步骤11,根据坐标和角度实例化建筑,在模型库中把对应的建筑放置到对应的位置上生成最终的模拟真实的三维地形。2.根据权利要求1所述的一种三维地形生成方法,其特征在于,所述步骤2中提取每个建筑物的轮廓是利用经典的Canny边缘检测算子,具体方法是:使用OpenCV读取指定图片,将图片转换成灰度图,使用高斯模糊消除图片中出现的噪点,然后把图片二值化,使用findContours函数提取检测到的所有轮廓,以及每个轮廓的坐标点。3.根据权利要求1所述的一种三维地形生成方法,其特征在于,所述步骤3获取轮廓质心坐标的具体方法是:先读取到每个轮廓的矩阵放到变量M中,根据...

【专利技术属性】 技术研发人员:熊风光,张鑫,刘欢乐,尹宇慧,况立群,韩燮, 申请(专利权)人:中北大学, 类型:发明 国别省市:

全部详细技术资料下载 我是这个专利的主人


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有