虚拟装修方法、装置、系统与流程

文档序号:22688560发布日期:2020-10-28 12:58阅读:183来源:国知局
虚拟装修方法、装置、系统与流程

本公开涉及图像处理领域,尤其涉及一种虚拟装修方法、装置、系统、设备、存储介质。



背景技术:

传统的虚拟家装技术中,往往仅能生成二维家装效果图,通过替换某些平面元素生成最终效果图。

随着科技的进步,为了提高家装效果图的直观程度,开始出现三维家装效果图,传统的三维家装效果图使用现有的交互式室内设计软件,完整地完成一套房子的装修设计效果图耗时很多,无法快速响应客户的需求变化以及快速呈现所需风格的效果图,并且难以针对特定的户型对家装的家具、家电等的摆放布局进行快速个性化定制,无论可交互性、真实性还是沉浸性均不理想,降低了用户体验。



技术实现要素:

本公开正是为了解决上述课题而完成,其目的在于提供一种快速高效、个性化定制、沉浸式的虚拟装修方法、装置、系统、设备、存储介质。

本公开提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。

为了解决上述技术问题,本公开实施例提供一种虚拟装修方法,采用了如下所述的技术方案,包括:

获取虚拟装修对象空间的结构信息和属性信息;

根据所述空间的所述属性信息获取可摆放的物体;

根据所述空间的所述结构信息确定所述物体在所述空间中的位置信息;

按照所述位置信息在所述空间中摆放所述物体。

为了解决上述技术问题,本公开实施例还提供一种虚拟装修装置,采用了如下所述的技术方案,包括:

信息获取模块,用于获取虚拟装修对象空间的结构信息和属性信息;

物体获取模块,用于根据所述空间的所述属性信息获取可摆放的物体;

位置确定模块,用于根据所述空间的所述结构信息确定所述物体在所述空间中的位置信息;

装修摆放模块,用于按照所述位置信息在所述空间中摆放所述物体。

为了解决上述技术问题,本公开实施例还提供一种虚拟装修系统,采用了如下所述的技术方案,包括:

图像导入模块,用于导入反映虚拟装修对象空间的图像;

信息获取模块,用于获取所述空间的结构信息和属性信息;

物体获取模块,用于根据所述空间的所述属性信息获取可摆放的物体;

位置确定模块,用于根据所述空间的所述结构信息确定所述物体在所述空间中的位置信息;

装修摆放模块,用于按照所述位置信息在所述空间中摆放所述物体。

为了解决上述技术问题,本公开实施例还提供一种计算机设备,采用了如下所述的技术方案,包括:

存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如前述所述的方法。

为了解决上述技术问题,本公开实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案,包括:

所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述所述的方法。

根据本公开所公开的技术方案,与现有技术相比,本公开可以实现快速响应客户的需求变化以及快速呈现所需风格的效果图,并且针对特定的户型对家装的家具、家电等的摆放布局进行快速个性化定制,提升了用户体验。

附图说明

图1是本公开可以应用于其中的示例性系统架构图;

图2是根据本公开的虚拟装修方法的一个实施例的流程图;

图3是根据本公开的虚拟装修方法的一个实施例的物体摆放位置关系的示意图;

图4是根据本公开的虚拟装修装置的一个实施例的示意图;

图5是根据本公开的计算机设备的一个实施例的结构示意图。

结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,元件和元素不一定按照比例绘制。

具体实施方式

除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本公开;本公开的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本公开的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本公开的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

为了使本技术领域的人员更好地理解本公开方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

[系统结构]

首先,说明本公开的一个实施例的系统的结构。如图1所示,系统结构100可以包括终端设备101、102、103、104,网络105和服务器106。网络105用以在终端设备101、102、103、104和服务器106之间提供通信链路的介质。

在本实施例中,虚拟装修方法运行于其上的电子设备(例如图1所示的终端设备101、102、103或104)可以通过网络105进行各种信息的传输。网络105可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。需要指出的是,上述无线连接方式可以包括但不限于3g/4g/5g连接、wi-fi连接、蓝牙连接、wimax连接、zigbee连接、uwb连接、局域网(“lan”)、广域网(“wan”)、网际网(例如,互联网)以及端对端网络(例如,adhoc端对端网络)以及其他现在已知或将来开发的网络连接方式。网络105可以利用诸如http(hypertexttransferprotocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。

用户可以使用终端设备101、102、103、104通过网络105与服务器106交互,以接收或发送消息等。终端设备101、102、103或104上可以安装有各种客户端应用,例如视频直播与播放类应用、网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

终端设备101、102、103或104可以是具有触摸显示屏和/或支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3(动态影像专家压缩标准音频层面3)播放器、mp4(动态影像专家压缩标准音频层面4)播放器、头戴式显示设备、笔记本电脑、数字广播接收器、pda(个人数字助理)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等。

服务器106可以是提供各种服务的服务器,例如对终端设备101、102、103或104上显示的页面或传输的数据提供支持的后台服务器。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

这里,终端设备可以独立或通过与其他电子终端设备配合运行各类操作系统例如安卓系统中的应用实现本公开的实施例方法,也可以运行其他操作系统中的应用例如ios系统、windows系统、鸿蒙系统等的应用实现本公开的实施例方法。

[虚拟装修方法]

参考图2,示出了根据本公开的虚拟装修方法的一个实施例的流程图。所述虚拟装修方法,包括以下步骤:

s21,获取虚拟装修对象空间的结构信息和属性信息;

这里,虚拟装修对象空间的结构信息可以包括其二维尺寸信息或三维的尺寸信息、形状信息、空间结构内物体或分隔的位置信息例如房间中的墙、门、窗、开放空间、柱子、楼梯等内部结构或物体的信息;虚拟装修对象空间的属性信息可以包括名称信息、朝向信息、装修风格等信息。

这里,虚拟装修方法还包括,预先设置装修风格信息,这里预先设置装修风格信息例如包括针对房间的结构信息和其他属性信息定义可选的物体组合、物体组合内的位置关系、物体组合相对于墙的位置关系、物体权重值等信息。

这里,虚拟装修对象空间的结构信息和属性信息例如可以通过但不限于下面几种方式获取:

1.通过对虚拟装修对象空间的2d像素图像进行图像识别、深度学习等技术将图像中的空间结构内物体例如墙、门、窗、开放空间、楼梯等像素信息转化为三维坐标点信息;

2.通过读取文件中的空间结构内物体的二维坐标点信息,并附加给定的例如墙、门、窗等高度信息来还原三维坐标点信息;

3.通过读取文件中的空间结构内物体的三维坐标点信息,获取例如墙、门、窗、开放空间、楼梯等三维坐标点信息。

在一个或多个实施例中,还包括,获取虚拟装修对象空间的二维模型和/或三维模型以获得各中二维信息和/或三维信息,这里,获取虚拟装修对象空间的二维模型和/或三维模型的方法可以是以下方式:

1.通过对象空间已有的户型图进行建模;

2.通过导入对象空间的图像,获取其内部空间的架构,建立对象空间的内部空间模型。

s22,根据虚拟装修对象空间的属性信息获取可摆放的物体;

这里,可摆放的物体信息例如可以存储在虚拟配置文件中,可以是空间内包含的各类物体,以空间为客厅为例,可摆放的物体可以包括但并不限于沙发、茶几、边几、地毯、电视背景墙、电视柜、电视机等,并且每个物体可以包括一种或多种不同的规格或尺寸。

这里,可摆放的物体还可以是例如虚拟装修的材质,例如墙体、地面、天花板等的材质,或者可摆放的物体还可以是虚拟装修所用到的硬装构件,例如可以是吊顶、腰线、顶角线、踢脚线、波打线、窗户等物体,这里并不做限定,当然也可以是其他用于虚拟装修的各类物体。

这里,步骤s22中还包括遍历存储可摆放的物体信息的虚拟配置文件内的物体,并解析每个物体的属性,以确定物体的摆放可能性。

这里,物体的属性例如包括物体的种类、材质、规格、尺寸等各类属性。

这里,确定物体的摆放可能性的步骤可以包括以下至少一者:

确定是否摆放物体;确定物体的摆放位置;或确定物体间的摆放关系。

在一个或多个实施例中,还包括按照物体的属性针对物体的摆放可能性确定物体的摆放方式的权重值,并根据物体的摆放方式的权重值确定物体的摆放方式。

在一个或多个实施例中,例如,解析出每个可动态摆放的物体属性后,为物体设置摆放方式的权重值,例如是否摆放的权重值;同时当物体被摆放到不同空间中或同一空间的不同位置时,或物体朝向发生变化时,也会对应不同的物体的摆放位置的权重值;或物体与其他物体之间的摆放关系发生变化时也会有不同的可能情况,对应物体间摆放关系的权重值;根据上述各种摆放可能性对物体的各类权重值进行加权,达到同一物体在不同摆放情况下权重值的变化。

在一个或多个实施例中,例如,当所有物体的属性被解析完毕时,将整个空间中物体的摆放方式的权重值进行相加,从而得到一个最终值。将每一种可能性的最终值进行比较,取权重值最高的那个作为最优解从而确定物体的摆放方式。

在一个或多个实施例中,例如空间为房间,而物体为设置在其中的家具,则根据权重值确定家具的摆放方式至少可以包括以下方式之一:

遍历家具单体的可能组合方式,对每种组合方式确定组合权重值,按照组合权重值最高的组合方式中物体的摆放方式摆放各个物体;

将部分家具搭配成组,遍历各组之间的可能组合方式,对每种组合方式确定组合权重值,按照组合权重值最高的组合方式中物体的摆放方式摆放各个物体。

这里,组合方式可以是已成组家具的各组之间进行组合,当然也可以是成组的家具与单体家具之间的组合,当然也可以单体家具之间的组合,并不做限定。

s23,根据空间的结构信息确定物体在空间中的位置信息;

在一个或多个实施例中,还包括按照物体的摆放规则信息,获取物体在空间中的位置信息,所述位置信息至少包括二维或三维位置信息。

这里,物体的摆放规则信息例如可以通过将各物体组合分别匹配每一面墙,生成多个可能性。

这里,摆放规则信息例如是描述二维或三维空间中物体之间相对位置关系的信息,其作用为了使多个物体在同一个坐标系内维持某种约束关系,使得物体的尺寸大小在发生变化时,依然能动态维持这种约束关系。为了维持这种动态关系,例如设置其中一个物体为根节点,其坐标已知,则下一个物体会根据上一个物体的位置及大小,并结合约束关系动态计算出下一个物体的位置及大小。

这里,例如物体组合与墙的相对位置关系预先设定,物体组合内部各物体之间的相对位置预先设定。

在一个或多个实施例中,例如,把家具中的沙发、茶几、地毯、单人沙发、边几归为一个组,在组内形成一个坐标系,物体与物体之间的摆放规则信息实际上是一套约束关系,例如茶几在沙发的前面,边几在沙发的两边等等,这种摆放规则信息的约束关系即一个物体与另外一个物体的相对位置关系。

s24,按照确定的位置信息在空间中摆放物体。

这里,在一个或多个实施例中,在按照位置信息在空间中摆放物体的步骤中,还包括检查物体之间是否摆放合理,例如至少可以包括以下方式之一:

根据空间的结构信息及物体的相对位置关系进行检查,例如根据空间的大小和形状等,判断不同尺寸或位置的物体之间在二维或三维空间中是否相交;

根据物体与空间的边界的关系进行检查,例如通过二维平面上检测两个物体多边形与空间多边形是否相交,或者三维空间中检测物体立体几何与空间立体几何是否相交,确定物体与墙体是否相交;物体与空间的边界的关系例如还包括物体是否超出空间的墙体范围等;

根据物体与空间中的结构的边界的关系进行检查,例如物体是否超出开放空间的划分区域、物体是否和窗户在三维空间中相交、物体是否和开放空间的动线相交、物体是否和门的动线区域相交等各类情况。

这里,在一个或多个实施例中,在确定物体的摆放方式的权重值的步骤中,当物体之间摆放被判定为不合理时,变更物体的摆放方式的权重值或去除权重值较低的物体,例如,可以包括以下几种情况:

1.若判断不同尺寸或位置的物体之间在三维空间中相交,则去除权重值较低的物体;

2.若判断物体与墙体相交则变更物体的摆放方式的权重值,例如去除该物体;

3.若物体的边界超出空间墙体则去除该物体;

4.若物体超出开放空间划分区域则去除该物体或降低包含该物体的组合的权重值;

5.若物体和窗户在三维空间中相交,则去除该物体或降低包含该物体的组合的权重值;

6.若物体和开放空间的动线相交,则降低包含该物体的组合的权重值;

7.若物体和门的动线区域相交,则去除该物体;

这里,在一个或多个实施例中,去除权重值较低的物体还包括,

根据摆放规则信息更新组合中的相关联的其他物体的位置,或者在去除的物体为根节点的情况下,去除组合中的相关联的其他物体。

这里,在一个或多个实施例中,还包括,对物体摆放完成的效果从至少一个角度进行显示,这里,例如在复式结构对象空间中,从上层的角度显示下层的物体摆放完成的效果,或从下层的角度显示上层的物体摆放完成的效果,当然这里显示的角度可以是其他任意方向的角度,并不做限定。

这里,在一个或多个实施例中,还例如以二维或三维形式表现物体在虚拟装修对象空间的二维模型或三维模型中的摆放效果。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

[虚拟装修方法实施例]

下面,说明本公开的一个实施例,在本实施例中,以虚拟装修对象空间为房间例如客厅,可摆放的物体为家具例如主要包括沙发为例,主要包括以下步骤:

步骤1,获取房间的结构信息和属性信息;

这里,房间的结构信息例如可以包括其二维尺寸信息例如大于20平米、形状信息例如为矩形、空间结构内物体或分隔的位置信息例如客厅中的墙、门、窗、开放空间、柱子、楼梯等内部结构或物体的信息;

房间的属性信息例如名称信息为客厅、朝向信息为朝向南、装修风格为北欧风格等信息。

这里,房间例如客厅的结构信息和属性信息例如可以通过但不限于上面介绍的几种方式获取,这里不再赘述。

步骤2,根据客厅的属性信息获取可摆放的物体例如主要包括沙发等物体;

这里,根据房间的名称为客厅,装修风格为北欧风格等属性信息确定

客厅中可摆放的例如沙发、茶几、边几、地毯、电视背景墙、电视柜、电视机等物体的信息,并且每个物体可以包括一种或多种不同的规格或尺寸。

步骤3,遍历存储上述物体信息的虚拟配置文件内的上述各个物体,并解析每个物体的属性,根据摆放规则信息,以确定各个物体的摆放可能性。

这里,物体的属性例如包括物体的种类例如沙发、材质例如为真皮、规格例如为双人沙发、尺寸例如为1.5米等各类属性。

这里,确定物体的摆放可能性的步骤可以包括以下至少一者:

确定是否摆放该沙发;确定该沙发的摆放位置;或确定该沙发与其他物体例如边几或茶几间的摆放关系。

步骤4,按照沙发的属性针对沙发的几种摆放可能性确定沙发的摆放方式的权重值,并根据沙发的摆放方式的权重值确定沙发的摆放方式。

例如,解析出沙发的属性后,为沙发设置摆放方式的权重值,例如是否摆放的权重值中,摆放双人沙发的权重值为1000分值、摆放三人沙发为1200分值、摆放单人沙发为250分值等可以进行预先设定的任意分值;同时当沙发被摆放到不同空间中或同一空间的不同位置时,或沙发朝向发生变化时,也会对应不同的权重值,例如双人沙发放在客厅的权重值为1000分、放在卧室的权重值为200分等;并且沙发与其他物体之间的摆放关系发生变化时也会有不同的可能情况,例如双人沙发放在双边几中间的权重值为1200分、双人沙发放在单人沙发旁边为200分等;根据上述各种摆放可能性对沙发的各类权重值进行加权,达到在不同摆放情况下权重值的变化。

在本实施例中,例如,当包括沙发在内的所有物体的属性被解析完毕时,将整个空间中物体的摆放方式的权重值进行相加,从而得到一个最终值。将每一种可能性的最终值进行比较,取权重值最高的那个作为最优解从而确定包括沙发在内的所有物体的摆放方式。

在本实施例中,还可以通过遍历沙发与其他家具的可能组合方式,对每种组合方式确定组合权重值,按照组合权重值最高的组合方式中沙发的摆放方式摆放各个物体;

或者将部分家具搭配成组,例如将沙发、茶几、地毯、单人沙发、边几归为一个组,将电视背景墙、电视柜、电视机归为一组,遍历这两组之间的可能组合方式,对每种组合方式确定组合权重值,按照组合权重值最高的组合方式中物体的摆放方式摆放各个物体。

这里,组合方式可以是已成组家具的各组之间进行组合,当然也可以是成组的家具与单体家具之间的组合,当然也可以单体家具之间的组合,并不做限定。

步骤5,根据客厅的结构信息确定沙发在客厅中的位置信息;

在本实施例中,还包括按照沙发的摆放规则信息,获取沙发在客厅中的位置信息。

这里,摆放规则信息例如是描述二维或三维空间中物体之间相对位置关系的信息,其作用为了使多个物体在同一个坐标系内维持某种约束关系,使得物体的尺寸大小在发生变化时,依然能动态维持这种约束关系。为了维持这种动态关系,例如设置其中一个物体为根节点,其坐标已知,则下一个物体会根据上一个物体的位置及大小,并结合约束关系动态计算出下一个物体的位置及大小。

在本实施例中,例如,把家具中的沙发、茶几、地毯、单人沙发、边几归为一个组,在组内形成一个坐标系,物体与物体之间的摆放规则信息实际上是一套约束关系,例如茶几在沙发的前面,边几在沙发的两边等等,这种摆放规则信息的约束关系即一个物体与另外一个物体的相对位置关系。

如图3所示,是根据本公开的虚拟装修方法的一个实施例的物体摆放位置关系的示意图,其中沙发背景墙、沙发、左边几、右边几、茶几、地毯、单人沙发组成一个组,并在组内形成一个坐标系。

在本实施例中,例如将每个物体简化为一个盒状体(box),分为上下左右前后六个面,假设沙发背景墙为box1,沙发为box2,实际中沙发的后面紧贴沙发背景墙的前面,且都放置于同一个平面(地面),已知box1的位置p1(x1,y1,z1),已知box1的大小即长宽高size1(a1,b1,c1),并且已知box2的大小即长宽高size2(a2,b2,c2),并且已知沙发对于沙发背景墙的约束关系为,已知沙发的后面到沙发背景墙的前面距离为d1,沙发下面到沙发背景墙下面的距离为d2,那么在三维空间中可求得沙发的位置p2(x2,y2,z2),具体计算方式为:

1.先计算box2在x,y,z三个轴上的最小值和最大值:

xmin=x1+a2/2

xmax=x1–a2/2

ymin=y1–b1/2+d2

ymax=ymin+b2

zmin=z1+c1/2+d1

zmax=zmin+c2

2.再求出坐标点p2:

x2=(xmin+xmax)/2

y2=(ymin+ymax)/2

z2=(zmin+zmax)/2

在本实施例中,将沙发到沙发背景墙的约束关系包括两个,即沙发的后面到沙发背景墙的前面的距离为d1和沙发的下面到沙发背景墙的下面的距离为d2。

在本实施例中,例如指定沙发为根节点,并已知根节点的位置和物体大小,并且设置每个物体相对前一个物体的约束关系即摆放规则信息,则每个物体的位置和大小可以通过该物体的摆放规则信息,并根据上一个已知物体的大小和位置进行动态计算,并可计算完所有物体的大小和位置。

步骤6,按照确定的位置信息在客厅中摆放沙发。

步骤7,检查物体之间是否摆放合理,例如根据客厅的大小和形状等,判断不同尺寸或位置的沙发与其他物体之间在三维空间中是否相交;或检查沙发与墙体是否相交、沙发是否超出空间的墙体范围等;或沙发是否超出开放空间的划分区域、是否和窗户在三维空间中相交、是否和开放空间的动线相交、是否和门的动线区域相交等各类情况。

这里,在本实施例中,当物体之间摆放被判定为不合理时,变更物体的摆放方式的权重值或去除权重值较低的物体,例如,可以包括以下几种情况:

1.若判断不同尺寸或位置的沙发与其他物体之间在三维空间中相交,则去除权重值较低的物体;

2.若判断沙发与墙体相交则变更沙发的摆放方式的权重值,例如去除该沙发;

3.若沙发的边界超出空间墙体则去除该沙发;

4.若沙发超出开放空间划分区域则去除该沙发或降低包含该沙发的组合的权重值;

5.若沙发和窗户在三维空间中相交,则去除该沙发或降低包含该沙发的组合的权重值;

6.若沙发和开放空间的动线相交,则降低包含该沙发的组合的权重值;

7.若沙发和门的动线区域相交,则去除该沙发;

这里,在本实施例中,去除权重值较低的物体还包括,

根据摆放规则信息更新组合中的相关联的其他物体的位置,或者在去除的物体为根节点的情况下,去除组合中的相关联的其他物体。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(rom)等非易失性存储介质,或随机存储记忆体(ram)等。

[虚拟装修装置]

为了实现本公开实施例中的技术方案,本公开的一个实施例提供了一种虚拟装修装置,该装置具体可以应用于各种电子终端设备中,如图4所示,包括:信息获取模块401、物体获取模块402、位置确定模块403、装修摆放模块404、遍历解析模块405、权重值设置模块406、摆放检查模块407。

信息获取模块401,用于获取虚拟装修对象空间的结构信息和属性信息;

这里,虚拟装修对象空间的结构信息可以包括其二维尺寸信息或三维的尺寸信息、形状信息、空间结构内物体或分隔的位置信息例如房间中的墙、门、窗、开放空间、柱子、楼梯等内部结构或物体的信息;虚拟装修对象空间的属性信息可以包括名称信息、朝向信息、装修风格等信息。

这里,虚拟装修装置例如还可以包括装修风格设置模块(未图示),用于预先设置装修风格信息,这里预先设置装修风格信息例如包括针对房间的结构信息和其他属性信息定义可选的物体组合、物体组合内的位置关系、物体组合相对于墙的位置关系、物体权重值等信息。

这里,虚拟装修对象空间的结构信息和属性信息例如可以通过但不限于下面几种方式获取:

1.通过对虚拟装修对象空间的2d像素图像进行图像识别、深度学习等技术将图像中的空间结构内物体例如墙、门、窗、开放空间、楼梯等像素信息转化为三维坐标点信息;

2.通过读取文件中的空间结构内物体的二维坐标点信息,并附加给定的例如墙、门、窗等高度信息来还原三维坐标点信息;

3.通过读取文件中的空间结构内物体的三维坐标点信息,获取例如墙、门、窗、开放空间、楼梯等三维坐标点信息。

在一个或多个实施例中,虚拟装修装置例如还可以包括模型获取模块(未图示),用于获取虚拟装修对象空间的二维模型和/或三维模型以获得各中二维信息和/或三维信息,这里,模型获取模块用于获取虚拟装修对象空间的二维模型和/或三维模型的方法可以是以下方式:

1.通过对象空间已有的户型图进行建模;

2.通过导入对象空间的图像,获取其内部空间的架构,建立对象空间的内部空间模型。

物体获取模块402,用于根据所述空间的属性信息获取可摆放的物体;

这里,可摆放的物体信息例如可以存储在虚拟配置文件中,可以是空间内包含的各类物体,以空间为客厅为例,可摆放的物体可以包括但并不限于沙发、茶几、边几、地毯、电视背景墙、电视柜、电视机等,并且每个物体可以包括一种或多种不同的规格或尺寸。

这里,可摆放的物体还可以是例如虚拟装修的材质,例如墙体、地面、天花板等的材质,或者可摆放的物体还可以是虚拟装修所用到的硬装构件,例如可以是吊顶、腰线、顶角线、踢脚线、波打线、窗户等物体,这里并不做限定,当然也可以是其他用于虚拟装修的各类物体。

这里,物体获取模块402中还包括遍历解析模块405,用于遍历存储可摆放的物体信息的虚拟配置文件内的物体,并解析每个物体的属性,以确定物体的摆放可能性。

这里,物体的属性例如包括物体的种类、材质、规格、尺寸等各类属性。

这里,确定物体的摆放可能性的步骤可以包括以下至少一者:

确定是否摆放物体;确定物体的摆放位置;或确定物体间的摆放关系。

在一个或多个实施例中,还包括权重值设置模块406,用于按照物体的属性针对物体的摆放可能性确定物体的摆放方式的权重值,并根据物体的摆放方式的权重值确定物体的摆放方式。

在一个或多个实施例中,例如,遍历解析模块405解析出每个可动态摆放的物体属性后,权重值设置模块406为物体设置摆放方式的权重值,例如是否摆放的权重值;同时当物体被摆放到不同空间中或同一空间的不同位置时,或物体朝向发生变化时,也会对应不同的物体的摆放位置的权重值;或物体与其他物体之间的摆放关系发生变化时也会有不同的可能情况,对应物体间摆放关系的权重值;根据上述各种摆放可能性对物体的各类权重值进行加权,达到同一物体在不同摆放情况下权重值的变化。

在一个或多个实施例中,例如,当所有物体的属性被遍历解析模块405解析完毕时,权重值设置模块406将整个空间中物体的摆放方式的权重值进行相加,从而得到一个最终值。将每一种可能性的最终值进行比较,取权重值最高的那个作为最优解从而确定物体的摆放方式。

在一个或多个实施例中,例如空间为房间,而物体为设置在其中的家具,则权重值设置模块406根据权重值确定家具的摆放方式至少可以包括以下方式之一:

遍历家具单体的可能组合方式,对每种组合方式确定组合权重值,按照组合权重值最高的组合方式中物体的摆放方式摆放各个物体;

将部分家具搭配成组,遍历各组之间的可能组合方式,对每种组合方式确定组合权重值,按照组合权重值最高的组合方式中物体的摆放方式摆放各个物体。

这里,组合方式可以是已成组家具的各组之间进行组合,当然也可以是成组的家具与单体家具之间的组合,当然也可以单体家具之间的组合,并不做限定。

位置确定模块403,用于根据空间的结构信息确定物体在空间中的位置信息;

在一个或多个实施例中,位置确定模块403还用于按照物体的摆放规则信息,获取物体在空间中的位置信息。

这里,物体的摆放规则信息例如可以通过将各物体组合分别匹配每一面墙,生成多个可能性。

这里,摆放规则信息例如是描述二维或三维空间中物体之间相对位置关系的信息,其作用为了使多个物体在同一个坐标系内维持某种约束关系,使得物体的尺寸大小在发生变化时,依然能动态维持这种约束关系。为了维持这种动态关系,例如设置其中一个物体为根节点,其坐标已知,则下一个物体会根据上一个物体的位置及大小,并结合约束关系动态计算出下一个物体的位置及大小。

这里,例如物体组合与墙的相对位置关系预先设定,物体组合内部各物体之间的相对位置预先设定。

在一个或多个实施例中,例如,把家具中的沙发、茶几、地毯、单人沙发、边几归为一个组,在组内形成一个坐标系,物体与物体之间的摆放规则信息实际上是一套约束关系,例如茶几在沙发的前面,边几在沙发的两边等等,这种摆放规则信息的约束关系即一个物体与另外一个物体的相对位置关系。

装修摆放模块404,用于按照所述位置信息在所述空间中摆放所述物体。

这里,在一个或多个实施例中,还包括摆放检查模块407,用于检查物体之间是否摆放合理,例如至少可以包括以下方式之一:

根据空间的结构信息及物体的相对位置关系进行检查,例如根据空间的大小和形状等,判断不同尺寸或位置的物体之间在二维或三维空间中是否相交;

根据物体与空间的边界的关系进行检查,例如通过二维平面上检测两个物体多边形与空间多边形是否相交,或者三维空间中检测物体立体几何与空间立体几何是否相交,确定物体与墙体是否相交;物体与空间的边界的关系例如还包括物体是否超出空间的墙体范围等;

根据物体与空间中的结构的边界的关系进行检查,例如物体是否超出开放空间的划分区域、物体是否和窗户在三维空间中相交、物体是否和开放空间的动线相交、物体是否和门的动线区域相交等各类情况。

这里,在一个或多个实施例中,当物体之间摆放被判定为不合理时,权重值设置模块406还用于变更物体的摆放方式的权重值或去除权重值较低的物体,例如,可以包括以下几种情况:

1.若判断不同尺寸或位置的物体之间在三维空间中相交,则去除权重值较低的物体;

2.若判断物体与墙体相交则变更物体的摆放方式的权重值,例如去除该物体;

3.若物体的边界超出空间墙体则去除该物体;

4.若物体超出开放空间划分区域则去除该物体或降低包含该物体的组合的权重值;

5.若物体和窗户在三维空间中相交,则去除该物体或降低包含该物体的组合的权重值;

6.若物体和开放空间的动线相交,则降低包含该物体的组合的权重值;

7.若物体和门的动线区域相交,则去除该物体;

这里,在一个或多个实施例中,去除权重值较低的物体还包括,

根据摆放规则信息更新组合中的相关联的其他物体的位置,或者在去除的物体为根节点的情况下,去除组合中的相关联的其他物体。

这里,在一个或多个实施例中,虚拟装修装置例如还可以包括效果显示模块(未图示),用于对物体摆放完成的效果从至少一个角度进行显示,这里,例如在复式结构对象空间中,从上层的角度显示下层的物体摆放完成的效果,或从下层的角度显示上层的物体摆放完成的效果,当然这里显示的角度可以是其他任意方向的角度,并不做限定。

这里,在一个或多个实施例中,还包括以二维或三维形式表现所述物体在所述虚拟装修对象空间的所述二维模型或所述三维模型中的摆放效果。

应该理解的是,虽然附图的框图中的每个方框可以代表一个模块,该模块的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令,但是这些模块并不是必然按照顺序依次执行。本公开中装置实施例中的各模块及功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上的模块或功能单元集成在一个模块中。上述集成的各个模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。

[虚拟装修系统]

为了实现本公开实施例中的技术方案,本公开的一个实施例提供了一种虚拟装修系统,包括:

图像导入模块,用于导入反映虚拟装修对象空间的图像;

这里,导入的图像可以是本地保存的图像也可以是从网络中下载的图像,当然也可以是导入实时拍摄的图像,并不做限定。

信息获取模块,用于获取空间的结构信息和属性信息;

物体获取模块,用于根据空间的属性信息获取可摆放的物体;

位置确定模块,用于根据空间的结构信息确定物体在空间中的位置信息;

装修摆放模块,用于按照位置信息在空间中摆放物体。

这里,虚拟装修系统中与虚拟装修装置中相同的单元模块的作用一致,并不再赘述。

[虚拟装修设备]

下面参考图5,其示出了适于用来实现本公开实施例的电子设备(例如图1中的终端设备或服务器)500的结构示意图。本公开实施例中的终端设备可以是上述系统中的各种终端设备。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,用于控制电子设备的整体操作。处理装置可以包括一个或多个处理器来执行指令,以完成上述的方法的全部或部分步骤。此外,处理装置501还可以包括一个或多个模块,用于处理和其他装置之间的交互。

存储装置502用于存储各种类型的数据,存储装置502可以是包括各种类型的计算机可读存储介质或者它们的组合,例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

传感器装置503,用于感受规定的被测量的信息并按照一定的规律转换成可用输出信号,可以包括一个或多个传感器。例如,其可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器等,用于检测电子设备的打开/关闭状态、相对定位、加速/减速、温度、湿度和光线等的变化。

处理装置501、存储装置502以及传感器装置503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。

多媒体装置506可以包括触摸屏、触摸板、键盘、鼠标、摄像头、麦克风等的输入装置用以接收来自用户的输入信号,在各种输入装置可以与上述传感器装置503的各种传感器配合完成例如手势操作输入、图像识别输入、距离检测输入等;多媒体装置506还可以包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置。

电源装置507,用于为电子设备中的各种装置提供电力,可以包括电源管理系统、一个或多个电源及为其他装置分配电力的组件。

通信装置508,可以允许电子设备500与其他设备进行无线或有线通信以交换数据。

上述各项装置也均可以连接至i/o接口505以实现电子设备500的应用。

虽然图5示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装。在该计算机程序被处理装置执行时,执行本公开实施例的方法中限定的上述功能。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。

要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。

根据本公开的一个或多个实施例,提供了一种虚拟装修方法,其特征在于,

获取虚拟装修对象空间的结构信息和属性信息;

根据所述空间的所述属性信息获取可摆放的物体;

根据所述空间的所述结构信息确定所述物体在所述空间中的位置信息;

按照所述位置信息在所述空间中摆放所述物体。

根据本公开的一个或多个实施例,提供了一种虚拟装修方法,其特征在于,

在根据所述空间的所述属性信息获取可摆放的物体的步骤中,遍历虚拟配置文件内的所述物体,并解析每个所述物体的属性,以确定所述物体的摆放可能性。

根据本公开的一个或多个实施例,提供了一种虚拟装修方法,其特征在于,

按照所述物体的属性针对所述物体的摆放可能性确定所述物体的摆放方式的权重值;

根据所述权重值确定所述物体的摆放方式。

根据本公开的一个或多个实施例,提供了一种虚拟装修方法,其特征在于,

所述确定所述物体的摆放可能性的步骤包括以下至少一者:

确定是否摆放所述物体;

确定所述物体的摆放位置;

确定所述物体间的摆放关系。

根据本公开的一个或多个实施例,提供了一种虚拟装修方法,其特征在于,

在按照所述位置信息在所述空间中摆放所述物体的步骤中,检查所述物体之间是否摆放合理,其至少包括以下方式之一:

根据所述空间的结构信息及所述物体的相对位置关系进行检查;

根据所述物体与所述空间的边界的关系进行检查;

根据所述物体与所述空间中的结构的边界的关系进行检查。

根据本公开的一个或多个实施例,提供了一种虚拟装修方法,其特征在于,

在所述确定所述物体的摆放方式的权重值的步骤中,当所述物体之间摆放被判定为不合理时,变更所述物体的摆放方式的权重值或去除权重值较低的所述物体。

根据本公开的一个或多个实施例,提供了一种虚拟装修方法,其特征在于,

所述去除权重值较低的所述物体还包括,

更新相关联的其他物体的位置,或去除相关联的其他物体。

根据本公开的一个或多个实施例,提供了一种虚拟装修方法,其特征在于,

所述空间为房间,所述物体为家具,

所述根据所述权重值确定所述物体的摆放方式,至少包括以下方式之一:

遍历所述家具单体的可能组合方式,对每种所述组合方式确定组合权重值,按照所述组合权重值最高的所述组合方式中所述物体的摆放方式摆放所述物体;

将部分所述家具搭配成组,遍历各组之间的可能组合方式,对每种所述组合方式确定组合权重值,按照所述组合权重值最高的所述组合方式中所述物体的摆放方式摆放所述物体。

根据本公开的一个或多个实施例,提供了一种虚拟装修方法,其特征在于,

按照所述物体的摆放规则信息,获取所述物体在所述空间中的位置信息,所述位置信息至少包括二维或三维位置信息。

根据本公开的一个或多个实施例,提供了一种虚拟装修方法,其特征在于,

所述空间的结构信息包括其二维和/或三维的尺寸信息。

根据本公开的一个或多个实施例,提供了一种虚拟装修方法,其特征在于,还包括,

获取所述虚拟装修对象空间的二维模型和/或三维模型;

以二维或三维形式表现所述物体在所述虚拟装修对象空间的所述二维模型或所述三维模型中的摆放效果。

根据本公开的一个或多个实施例,提供了一种虚拟装修方法,其特征在于,

所述虚拟装修对象空间的属性信息至少包括名称信息、朝向信息、装修风格信息之一;

所述虚拟装修方法还包括,预先设置所述装修风格信息。

根据本公开的一个或多个实施例,提供了一种虚拟装修方法,其特征在于,还包括,

对所述物体摆放完成的效果从至少一个角度进行显示。

根据本公开的一个或多个实施例,提供了一种虚拟装修装置,其特征在于,包括:

信息获取模块,用于获取虚拟装修对象空间的结构信息和属性信息;

物体获取模块,用于根据所述空间的所述属性信息获取可摆放的物体;

位置确定模块,用于根据所述空间的所述结构信息确定所述物体在所述空间中的位置信息;

装修摆放模块,用于按照所述位置信息在所述空间中摆放所述物体。

根据本公开的一个或多个实施例,提供了一种虚拟装修装置,其特征在于,所述物体获取模块包括:

遍历解析模块,用于遍历虚拟配置文件内的可摆放的所述物体,并解析每个所述物体的属性,以确定所述物体的摆放可能性;

所述确定所述物体的摆放可能性包括以下至少一者:

确定是否摆放所述物体;

确定所述物体的摆放位置;

确定所述物体间的摆放关系。

根据本公开的一个或多个实施例,提供了一种虚拟装修装置,其特征在于,还包括,

权重值设置模块,用于按照所述物体的属性针对所述物体的摆放可能性确定所述物体的摆放方式的权重值;

所述装修摆放模块根据所述权重值确定所述物体的摆放方式。

根据本公开的一个或多个实施例,提供了一种虚拟装修装置,其特征在于,还包括:

摆放检查模块,用于检查所述物体之间是否摆放合理,其至少包括以下方式之一:

根据所述空间的结构信息及所述物体的相对位置关系进行检查;

根据所述物体与所述空间的边界的关系进行检查;

根据所述物体与所述空间中的结构的边界的关系进行检查。

根据本公开的一个或多个实施例,提供了一种虚拟装修装置,其特征在于,

所述权重值设置模块还用于当所述物体之间摆放被判定为不合理时,变更所述物体的摆放方式的权重值或去除权重值较低的所述物体;

并更新相关联的其他物体的位置,或去除相关联的所述其他物体。

根据本公开的一个或多个实施例,提供了一种虚拟装修装置,其特征在于,

所述空间为房间,所述物体为家具,

所述权重值设置模块至少通过以下方式之一确定所述物体的摆放方式:

遍历所述家具单体的可能组合方式,对每种所述组合方式确定组合权重值,按照所述组合权重值最高的所述组合方式中所述物体的摆放方式摆放所述物体;

将部分所述家具搭配成组,遍历各组之间的可能组合方式,对每种所述组合方式确定组合权重值,按照所述组合权重值最高的所述组合方式中所述物体的摆放方式摆放所述物体。

根据本公开的一个或多个实施例,提供了一种虚拟装修装置,其特征在于,

按照所述物体的摆放规则信息,获取所述物体在所述空间中的位置信息,所述位置信息至少包括二维或三维位置信息。

根据本公开的一个或多个实施例,提供了一种虚拟装修装置,其特征在于,

所述空间的结构信息包括其二维或三维的尺寸信息;

所述虚拟装修装置还包括模型获取模块,用于获取所述虚拟装修对象空间的二维模型和/或三维模型;

以二维或三维形式表现所述物体在所述虚拟装修对象空间的所述二维模型或所述三维模型中的摆放效果。

根据本公开的一个或多个实施例,提供了一种虚拟装修装置,其特征在于,

所述虚拟装修对象空间的属性信息至少包括名称信息、朝向信息、装修风格信息之一;

所述虚拟装修装置还包括装修风格设置模块,用于预先设置所述装修风格信息。

根据本公开的一个或多个实施例,提供了一种虚拟装修装置,其特征在于,还包括,

效果显示模块,用于对所述物体摆放完成的效果从至少一个角度进行显示。

根据本公开的一个或多个实施例,提供了一种虚拟装修系统,其特征在于,包括:

图像导入模块,用于导入反映虚拟装修对象空间的图像;

信息获取模块,用于获取所述空间的结构信息和属性信息;

物体获取模块,用于根据所述空间的所述属性信息获取可摆放的物体;

位置确定模块,用于根据所述空间的所述结构信息确定所述物体在所述空间中的位置信息;

装修摆放模块,用于按照所述位置信息在所述空间中摆放所述物体。

根据本公开的一个或多个实施例,提供了一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述的方法。

根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的方法。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1