本发明涉及智能终端技术领域,特别涉及一种基于图像的3d打印方法、存储介质以及虚拟现实设备。
背景技术:
随着vr&ar的快速发展,3d场景及全景场景的观影需求不断激增。全景场景能够带给用户极强的体验感、沉浸感,使用户身临其境般置身于虚拟场景中,与场景中物体有更多的互动。这种沉浸式体验能够更加吸引用户,增强虚拟物体的呈现感。而3d打印技术作为将虚拟转化为3d实物的一种技术手段,一定程度上实现了将虚拟物体转化为现实的可能。但是,3d打印技术存在很多不便,首先,作为使用者要有打印物体的雏形,其次用户要有对雏形进行复杂建模的能力,并且3d打印技术操作流程也不够便捷。
因而现有技术还有待改进和提高。
技术实现要素:
本发明要解决的技术问题在于,针对现有技术的不足,提供一种基于图像的3d打印方法、存储介质以及虚拟现实设备,以解决现有3d打印技术操作流程不够便捷的问题。
为了解决上述技术问题,本发明所采用的技术方案如下:
一种基于图像的3d打印方法,其包括:
当虚拟现实设备处于打印状态时,接收当前用户的手势指令,并根据所述手势指令确定待打印区域;
识别所述待打印区域包含的图像信息,并根据所述图像信息生成其对应的3d模型;
将所述3d模型发送至预先配置的3d打印设备,以进行3d打印。
所述基于图像的3d打印方法,其中,所述当虚拟现实设备处于打印状态时,接收当前用户的手势指令,并根据所述手势指令确定待打印区域之前包括:
当虚拟现实设备处于播放状态时,监听当前用户输入的控制手势,并将监听到的控制手势与预设手势进行比较;
当所述控制手势与预设手势一致时,启动打印模式以使得所述虚拟现实设备进入打印状态。
所述基于图像的3d打印方法,其中,所述当所述控制手势与预设手势一致时,启动打印模式以使得所述虚拟现实设备进入打印状态具体包括:
当所述控制手势与预设手势一致时,暂停所述虚拟现实设备所播放的场景,并启动打印模式以使得所述虚拟现实设备进入打印状态。
所述基于图像的3d打印方法,其中,所述当虚拟现实设备处于打印状态时,接收当前用户的手势指令,并根据所述手势指令确定待打印区域具体包括:
当虚拟现实设备处于打印状态时,接收当前用户的手势指令;
识别所述手势指令的运动轨迹,并根据所述运动轨迹确实其对应的待打印区域。
所述基于图像的3d打印方法,其中,所述当虚拟现实设备处于打印状态时,接收当前用户的手势指令,并根据所述手势指令确定待打印区域之后还包括:
将所述待打印区域移动至预设的打印区,以触使所述虚拟现实设备识别所述待打印区域包含的图像信息。
所述基于图像的3d打印方法,其中,所述将所述3d模型发送至预先配置的3d打印设备,以进行3d打印具体为:
接收当前用户输入的打印指令,并根据所述打印指令将所述3d模型发送至预先配置的3d打印设备,以进行3d打印。
所述基于图像的3d打印方法,其中,所述当虚拟现实设备处于打印状态时,接收当前用户的手势指令,并根据所述手势指令确定待打印区域之前还包括:
预先配置用于打印3d模型的3d打印机,其中,所述3d打印机与所述虚拟现实设备通过互联网连接。
所述基于图像的3d打印方法,其中,所述识别所述待打印区域包含的图像信息为:
采用基于阈值的分割方法、基于边缘的分割方法、基于区域的分割方法以及基于图论的分割方法中的一种方法识别所述待打印区域包含的图像信息。
一种存储介质,其存储有多条指令,所述指令适于由处理器加载并执行如上任一所述述基于图像的3d打印方法。
一种虚拟现实设备,其包括:
处理器,适于实现各指令;以及
存储设备,适于存储多条指令,所述指令适于由处理器加载并执行如上任一所述基于图像的3d打印方法。
有益效果:与现有技术相比,本发明提供了一种应用自启动的控制方法及系统,所述方法包括:当虚拟现实设备处于打印状态时,接收当前用户的手势指令,并根据所述手势指令确定待打印区域;识别所述待打印区域包含的图像信息,并根据所述图像信息生成其对应的3d模型;将所述3d模型发送至预先配置的3d打印设备,以进行3d打印。本发明通过3d打印设备对虚拟现实设备播放场景中的物体直接打印,使得使用户足不出户将虚拟变为现实。
附图说明
图1为本发明提供的基于图像的3d打印方法较佳实施例的流程图。
图2为本发明提供的虚拟现实设备较佳实施例的结构原理图。
具体实施方式
本发明提供一种基于图像的3d打印方法、存储介质以及虚拟现实设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
下面结合附图,通过对实施例的描述,对发明内容作进一步说明。
请参照图1,图1为本发明提供的基于图像的3d打印方法的较佳实施例的流程图。所述方法包括:
s100、当虚拟现实设备处于打印状态时,接收当前用户的手势指令,并根据所述手势指令确定待打印区域。
具体地,所述虚拟现实设备可以为vr设备,也可以为ar设备。例如,vr眼镜等。所述打印状态为所述虚拟现实设备预设配置,当所述虚拟现实设备处于所述打印状态时,所述虚拟现实设备的播放场景中会出现虚拟打印设备,所述虚拟现实设备可以通过所述虚拟打印设备控制与其连接的打印设备进行打印操作。在本实施例中,所述虚拟现实设备预先配置打印设备,并且所述打印设备为3d打印设备。所述虚拟现实设备可以与所述3d打印设备有线连接,也可以与所述3d打印设备无线连接。所述无线连接可以为wifi或蓝牙等。
示例性的,所述当虚拟现实设备处于打印状态时,接收当前用户的手势指令,并根据所述手势指令确定待打印区域之前还可以包括:
s01、当虚拟现实设备处于播放状态时,监听当前用户输入的控制手势,并将监听到的控制手势与预设手势进行比较;
s02、当所述控制手势与预设手势一致时,启动打印模式以使得所述虚拟现实设备进入打印状态。
具体地,所述播放状态指的是所述虚拟现实设备正在播放视频文件,也就是,用户正在使用所述虚拟现实设备。所述预设手势为预先存储于所述虚拟现实设备中,用于控制所述虚拟现实设备进入打印状态的手势。例如,在一个较佳实施例中,所述预设手势可以为向右摆手,那么,虚拟现实设备监听当前用户输入的控制手势,并判断所述控制手势是否为向右摆手以控制其进入打印状态。
进一步,由于所述虚拟现实设备处于播放状态,那么启动打印模块的同时需要控制所述虚拟现实设备暂停其播放的场景。相应的,所述当所述控制手势与预设手势一致时,启动打印模式以使得所述虚拟现实设备进入打印状态具体包括:当所述控制手势与预设手势一致时,暂停所述虚拟现实设备所播放的场景,并启动打印模式以使得所述虚拟现实设备进入打印状态。在本实施例中,接收到所述预设手势时,所述虚拟现实设备所播放的场景为带选取场景,所述待打印物品存在于所述待选取场景内。也就是说,监听到控制手势与预设手势比较成功时对应的场景为带选取场景,而在比对成功的同时暂停虚拟现实所述播放的场景。
在本发明的一个实施例中,由于所述打印物品为所述虚拟现实设备播放的场景中的物品,从而所述控制手势除了控制虚拟现实设备启动打印模式外,还用于确定待打印物品对应的图像。相应的,所述当虚拟现实设备处于播放状态时,监听当前用户输入的控制手势,并将监听到的控制手势与预设手势进行比较具体可以包括:
s011、当虚拟现实设备处于播放状态时,实时接收当前用户输入的暂停控制指令;
s012、当接收到暂停控制指令时,控制所述虚拟现实设备进入暂停状态;
s013、监听当前用户输入的控制手势,并将监听到的控制手势与预设手势进行比较。
具体地,所述虚拟现实设备根据所述暂停控制指令进入暂停状态时,停留的场景为待选取场景。也就是说,待打印物品存在于所述待选取场景内。
示例性的,所述当虚拟现实设备处于打印状态时,接收当前用户的手势指令,并根据所述手势指令确定待打印区域具体包括:
s101、当虚拟现实设备处于打印状态时,接收当前用户的手势指令;
s102、识别所述手势指令的运动轨迹,并根据所述运动轨迹确实其对应的待打印区域。
具体地,所述手势指令指的是当前用户的操作手势,也就是说,当虚拟现实设备处于打印状态时,实时监听当前用户输入的手势指令,并识别所述手势指令对应运动轨迹,所述运动轨迹可以为围城一个封闭的区域,所述区域记为待打印区域。在实际应用中,当确定待打印区域后,可以通过手势指令将所述待打印区域拖拖拽至预设打印区,也可以直接将所述待打印区域设置为打印区。在本实施例中,所述当虚拟现实设备处于打印状态时,接收当前用户的手势指令,并根据所述手势指令确定待打印区域之后还包括:
将所述待打印区域移动至预设的打印区,以触使所述虚拟现实设备识别所述待打印区域包含的图像信息。
s200、识别所述待打印区域包含的图像信息,并根据所述图像信息生成其对应的3d模型。
具体地,所述识别待打印区域可以采用基于阈值的分割方法、基于边缘的分割方法、基于区域的分割方法以及基于图论的分割方法中的一种方法。
所述基于阈值的分割方法具体为:基于图像的灰度特征来计算一个或多个灰度阈值,并将图像中每个像素的灰度值与阈值相比较,最后将像素根据比较结果分到合适的类别中。因此,该类方法最为关键的一步就是按照某个准则函数来求解最佳灰度阈值。
所述基于边缘的分割方法具体为:所述边缘是指图像中两个不同区域的边界线上连续的像素点的集合,是图像局部特征不连续性的反映,体现了灰度、颜色、纹理等图像特性的突变。通常情况下,基于边缘的分割方法指的是基于灰度值的边缘检测,它是建立在边缘灰度值会呈现出阶跃型或屋顶型变化这一观测基础上的方法。阶跃型边缘两边像素点的灰度值存在着明显的差异,而屋顶型边缘则位于灰度值上升或下降的转折处。正是基于这一特性,可以使用微分算子进行边缘检测,即使用一阶导数的极值与二阶导数的过零点来确定边缘,具体实现时可以使用图像与模板进行卷积来完成。
所述基于区域的分割方法具体为:将图像按照相似性准则分成不同的区域,主要包括种子区域生长法、区域分裂合并法和分水岭法等几种类型。所述种子区域生长法是从一组代表不同生长区域的种子像素开始,接下来将种子像素邻域里符合条件的像素合并到种子像素所代表的生长区域中,并将新添加的像素作为新的种子像素继续合并过程,直到找不到符合条件的新像素为止。该方法的关键是选择合适的初始种子像素以及合理的生长准则。所述区域分裂合并法(gonzalez,2002)的基本思想是首先将图像任意分成若干互不相交的区域,然后再按照相关准则对这些区域进行分裂或者合并从而完成分割任务,该方法既适用于灰度图像分割也适用于纹理图像分割。所述分水岭法(meyer,1990)是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。该算法的实现可以模拟成洪水淹没的过程,图像的最低点首先被淹没,然后水逐渐淹没整个山谷。当水位到达一定高度的时候将会溢出,这时在水溢出的地方修建堤坝,重复这个过程直到整个图像上的点全部被淹没,这时所建立的一系列堤坝就成为分开各个盆地的分水岭。分水岭算法对微弱的边缘有着良好的响应,但图像中的噪声会使分水岭算法产生过分割的现象。
所述基于图论的分割方法具体为:把图像分割问题与图的最小割(mincut)问题相关联。首先将图像映射为带权无向图g=<v,e>,图中每个节点n∈v对应于图像中的每个像素,每条边∈e连接着一对相邻的像素,边的权值表示了相邻像素之间在灰度、颜色或纹理方面的非负相似度。而对图像的一个分割s就是对图的一个剪切,被分割的每个区域c∈s对应着图中的一个子图。而分割的最优原则就是使划分后的子图在内部保持相似度最大,而子图之间的相似度保持最小。基于图论的分割方法的本质就是移除特定的边,将图划分为若干子图从而实现分割。目前所了解到的基于图论的方法有graphcut,grabcut和randomwalk等。
所述基于能量泛函的分割方法是活动轮廓模型(activecontourmodel)以及在其基础上发展出来的算法,其基本思想是使用连续曲线来表达目标边缘,并定义一个能量泛函使得其自变量包括边缘曲线,因此分割过程就转变为求解能量泛函的最小值的过程,一般可通过求解函数对应的欧拉方程来实现,能量达到最小时的曲线位置就是目标的轮廓所在。
s300、将所述3d模型发送至预先配置的3d打印设备,以进行3d打印。
具体地,所述将所述3d模型发送至预先配置的3d打印设备可以是在生成3d模型后自动将所述3d模型发送至3d打印设备,可以是在在生成3d模型后,根据用户的控制指令将所述3d模型发送至3d打印设备。在本实施例中,所述将所述3d模型发送至预先配置的3d打印设备是根据用户的控制指令发送至3d打印设备,这样可以使得用户进一步确定是否需要打印所述物体,给用户的使用带来方便。
相应的,识别所述待打印区域包含的图像信息,并根据所述图像信息生成其对应的3d模型之后、所述将所述3d模型发送至预先配置的3d打印设备以进行3d打印之前还可以具体包括:
s300a、将所述3d模型显示于当前场景内,并提示用户是否确认打印所述3d模型对应的待打印物体。
相应的,所述所述将所述3d模型发送至预先配置的3d打印设备以进行3d打印具体为:
s401、接收当前用户输入的控制指令;
s402、当所述控制指令为打印指令时,根据所述打印指令将所述3d模型发送至预先配置的3d打印设备,以进行3d打印;
s403、当所述控制指令为放弃指令时,退出打印状态。
本发明还提供了一种存储介质,其存储有多条指令,所述指令适于由处理器加载并执行如上任一所述述基于图像的3d打印方法。
本发明还提供了一种虚拟现实设备,如图2所示,其包括:
处理器100,适于实现各指令;以及
存储设备200,适于存储多条指令,所述指令适于由处理器加载并执行如上任一所述基于图像的3d打印方法。
上述存储介质以及虚拟现实设备存在的指令被处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
在本发明所提供的实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。