一种平面图三维转换方法、系统、存储介质和电子设备
文献发布时间:2024-04-18 19:58:53
技术领域
本发明涉及图像转换技术领域,尤其涉及一种平面图三维转换方法、系统、存储介质和电子设备。
背景技术
目前,对于平面图的三维转换,大多通过标准的CAD图纸生成固定场景的三维立体图像(三维立体模型)。由于CAD图纸的绘制需要一定技术门槛,且生成的三维立体图像(三维立体模型)具有比较多的限制。
因此,亟需提供一种技术方案解决上述问题。
发明内容
为解决上述技术问题,本发明提供了一种平面图三维转换方法、系统、存储介质和电子设备。
第一方面,本发明提供一种平面图三维转换方法,该方法的技术方案如下:
获取待处理平面图中的每个平面像素点的像素信息;
生成每个平面像素点分别在相应的预设三维高度上的多个空间像素点;其中,任一平面像素点与对应的每个空间像素点的像素信息相同;
根据所有的空间像素点的像素信息,生成所述待处理平面图对应的三维立体图。
本发明的一种平面图三维转换方法的有益效果如下:
本发明的方法能够实现对任意形式的平面图的三维转换,提高了转换效率。
在上述方案的基础上,本发明的一种平面图三维转换方法还可以做如下改进。
在一种可选的方式中,生成任一平面像素点在相应的预设三维高度上的多个空间像素点的步骤,包括:
以所述待处理平面图的任意位置处为原点,构建三维直角坐标系;
以所述任一平面像素点在所述三维直角坐标系中的平面坐标为定量、垂直方向上的坐标为变量且所述任一平面像素点对应的预设三维高度为最大值,依次遍历所有高度值,生成所述任一平面像素点在相应的预设三维高度上的多个空间像素点。
在一种可选的方式中,获取待处理平面图中的每个平面像素点的像素信息的步骤,包括:
利用目标画布对象,获取所述待处理平面图中的每个平面像素点的像素信息。
在一种可选的方式中,还包括:
将所述三维立体图添加至预设三维场景并进行渲染,得到目标三维立体模型。
在一种可选的方式中,每个平面像素点的像素信息均为:RGBA值。
第二方面,本发明提供一种平面图三维转换系统,该系统的技术方案如下:
包括:获取模块、处理模块和生成模块;
所述获取模块用于:获取待处理平面图中的每个平面像素点的像素信息;
所述处理模块用于:生成每个平面像素点分别在相应的预设三维高度上的多个空间像素点;其中,任一平面像素点与对应的每个空间像素点的像素信息相同;
所述处理模块用于:根据所有的空间像素点的像素信息,生成所述待处理平面图对应的三维立体图。
本发明的一种平面图三维转换系统的有益效果如下:
本发明的系统能够实现对任意形式的平面图的三维转换,提高了转换效率。
在上述方案的基础上,本发明的一种平面图三维转换系统还可以做如下改进。
在一种可选的方式中,所述处理模块具体用于:
以所述待处理平面图的任意位置处为原点,构建三维直角坐标系;
以所述任一平面像素点在所述三维直角坐标系中的平面坐标为定量、垂直方向上的坐标为变量且所述任一平面像素点对应的预设三维高度为最大值,依次遍历所有高度值,生成所述任一平面像素点在相应的预设三维高度上的多个空间像素点。
在一种可选的方式中,所述获取模块具体用于:
利用目标画布对象,获取所述待处理平面图中的每个平面像素点的像素信息。
第三方面,本发明提供的一种存储介质的技术方案如下:
存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如本发明的一种平面图三维转换方法的步骤。
第四方面,本发明的一种电子设备的技术方案如下:
包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序,所述处理器执行所述程序时实现如本发明的一种平面图三维转换方法的步骤。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明提供的一种平面图三维转换方法的实施例的流程示意图;
图2示出了三维直角坐标系的构建示意图;
图3示出了本发明提供的一种平面图三维转换系统的实施例的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
图1示出了本发明提供的一种平面图三维转换方法的实施例的流程示意图。如图1所示,包括如下步骤:
S1、获取待处理平面图中的每个平面像素点的像素信息。其中:
①待处理平面图为:本实施例中任意选取的平面图,该平面图可以是任意绘图软件绘制得到的线性平面图,也可以是手绘后通过拍照所得到的平面图,在此不设限制。
②平面像素点为:待处理平面图中的像素点。此类像素点对应的坐标为(x,y)。
③像素信息为:RGBA值。R为红色,取值0-225;G为绿色,取值0-255;B为蓝色,取值0-255;A为alpha通道,取值为0-255(0表示透明的,255表示完全可见)。
S2、生成每个平面像素点分别在相应的预设三维高度上的多个空间像素点。其中:
①任一平面像素点与对应的每个空间像素点的像素信息相同。
②预设三维高度为:预先设置好的高度值。该值通常取整数,具体取值可根据实际需求进行调整。不同平面像素点对应的预设三维高度可以相同,也可以不同,在此不设限制。
③空间像素点为:三维空间中的像素点。此类像素点对应的坐标为(x,y,z)。
S3、根据所有的空间像素点的像素信息,生成所述待处理平面图对应的三维立体图。其中:
待处理平面图对应的三维立体图为:按照每个空间像素点的像素信息进行填充处理后所生成的三维立体图。
较优地,生成任一平面像素点在相应的预设三维高度上的多个空间像素点的步骤,包括:
以所述待处理平面图的任意位置处为原点,构建三维直角坐标系。其中:
三维直角坐标系中的原点的选取不设限制。例如,将图2所示的待处理平面图的一个端点设为原点(0,0),待处理平面图的宽度width为x方向、待处理平面图的高度height为y方向,垂直于该待处理平面图的方向为z方向。
以所述任一平面像素点在所述三维直角坐标系中的平面坐标为定量、垂直方向上的坐标为变量且所述任一平面像素点对应的预设三维高度为最大值,依次遍历所有高度值,生成所述任一平面像素点在相应的预设三维高度上的多个空间像素点。
在上述步骤中,假设某一平面像素点的二维坐标为(1,1),该平面像素点对应的预设三维高度为5,此时该平面像素点在预设三维高度上所对应的所有的空间像素点的三维坐标依次为(1,1,0)、(1,1,1)、(1,1,2)、(1,1,3)、(1,1,4)和(1,1,5),这些空间像素点的像素信息是相同。
较优地,S1包括:
利用目标画布对象,获取所述待处理平面图中的每个平面像素点的像素信息。其中:
①目标画布对象为:html的canvas画布对象。
②利用canvas画布对象的getImageData获取所述待处理平面图中的每个平面像素点的像素信息imageData。
③imageData=canvas.getImageData(0,0,width,height);此函数表示获取宽度为width、高度为height的待处理平面图(图像矩阵)范围内的所有像素点的像素信息。
需要说明的是,本实施例中利用javaScript获取html的canvas画布对象。
较优地,还包括:
S4、将所述三维立体图添加至预设三维场景并进行渲染,得到目标三维立体模型。其中:
①预设三维场景scene包含预先配置号的环境光、材质等。
②通过渲染器renderer渲染预设三维场景scene。
需要说明的是,本实施例中预先配置浏览器3D引擎(如开源框架Three.js),并预先设置了预设三维场景scene、相机camera、渲染器renderer。当得到目标三维立体模型后,通过预先配置的3D引擎将其导出,可导出的格式包括但不限于:可导出.ply、.obj、.gltf等格式。
本实施例的技术方案能够实现对任意形式的平面图的三维转换,提高了转换效率。
图3示出了本发明提供的一种平面图三维转换系统200的实施例的结构示意图。如图3所示,该系统200包括:获取模块210、处理模块220和生成模块230;
所述获取模块210用于:获取待处理平面图中的每个平面像素点的像素信息;
所述处理模块220用于:生成每个平面像素点分别在相应的预设三维高度上的多个空间像素点;其中,任一平面像素点与对应的每个空间像素点的像素信息相同;
所述处理模块230用于:根据所有的空间像素点的像素信息,生成所述待处理平面图对应的三维立体图。
较优地,所述处理模块220具体用于:
以所述待处理平面图的任意位置处为原点,构建三维直角坐标系;
以所述任一平面像素点在所述三维直角坐标系中的平面坐标为定量、垂直方向上的坐标为变量且所述任一平面像素点对应的预设三维高度为最大值,依次遍历所有高度值,生成所述任一平面像素点在相应的预设三维高度上的多个空间像素点。
较优地,所述获取模块210具体用于:
利用目标画布对象,获取所述待处理平面图中的每个平面像素点的像素信息。
较优地,还包括:优化模块;
所述优化模块用于:将所述三维立体图添加至预设三维场景并进行渲染,得到目标三维立体模型。
较优地,每个平面像素点的像素信息均为:RGBA值。
本实施例的技术方案能够实现对任意形式的平面图的三维转换,提高了转换效率。
上述关于本实施例的平面图三维转换系统200中的各参数和各个模块实现相应功能的步骤,可参考上文中关于平面图三维转换方法的实施例中的各参数和步骤,在此不做赘述。
本发明实施例提供的一种存储介质,包括:存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如平面图三维转换方法的步骤,具体可参考上文中的平面图三维转换方法的实施例中的各参数和步骤,在此不做赘述。
计算机存储介质例如:优盘、移动硬盘等。
本发明实施例提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,使所述计算机执行如平面图三维转换方法的步骤,具体可参考上文中的平面图三维转换方法的实施例中的各参数和步骤,在此不做赘述。
所属技术领域的技术人员知道,本发明可以实现为方法、系统、存储介质和电子设备。
因此,本发明可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM),只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
- 三维模型格式转换方法、系统、计算机设备及存储介质
- 图像转换方法、装置、电子设备及存储介质
- 一种文件转换方法、系统、装置及计算机可读存储介质
- 一种分布式系统部署方法、系统、电子设备及存储介质
- 一种操作系统的预安装方法、系统、电子设备及存储介质
- 一种照明平面图的审查方法、系统、存储介质及电子设备
- 一种照明平面图的审查方法、系统、存储介质及电子设备