书签 分享 收藏 举报 版权申诉 / 15

三维图像裁剪方法及装置.pdf

  • 上传人:奻奴
  • 文档编号:4601809
  • 上传时间:2018-10-22
  • 格式:PDF
  • 页数:15
  • 大小:1.60MB
  • 摘要
    申请专利号:

    CN201410606287.2

    申请日:

    2014.10.31

    公开号:

    CN104463942A

    公开日:

    2015.03.25

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06T15/30申请日:20141031|||公开

    IPC分类号:

    G06T15/30(2011.01)I

    主分类号:

    G06T15/30

    申请人:

    上海联影医疗科技有限公司

    发明人:

    吴大; 段琦

    地址:

    201807上海市嘉定区嘉定工业区城北路2258号

    优先权:

    专利代理机构:

    代理人:

    PDF完整版下载: PDF下载
    内容摘要

    一种三维图像裁剪方法及装置,方法包括:对体数据进行空间划分,形成位于若干子空间区域内的子体数据;判断位于子空间区域内的子体数据在二维平面的投影区域与裁剪区域的位置关系:当投影区域完全被包含于裁剪区域内时,裁剪投影区域对应的子体数据;当投影区域与裁剪区域部分重叠时,对投影区域对应的子空间区域内的子体数据再次空间划分及判断再次划分后的投影区域与裁剪区域的位置关系,直至划分后的投影区域完全被包含于裁剪区域内并被裁剪或当前节点没有子节点;当投影区域与裁剪区域没有重叠时,取消对投影区域所对应的空间区域进行裁剪处理。通过所述方法和装置,可以提高体数据裁剪的效率。

    权利要求书

    1.  一种三维图像裁剪方法,其特征在于,包括:
    提供三维图像体数据及裁剪区域,对所述体数据进行空间划分,形成位于若干子空间区域内的子体数据;
    提供基于视角的二维平面,并判断位于所述子空间区域内的子体数据在所述二维平面的投影区域与所述裁剪区域的位置关系:
    当所述投影区域完全被包含于所述裁剪区域内时,裁剪所述投影区域对应的子体数据;
    当所述投影区域与所述裁剪区域部分重叠时,对所述投影区域对应的子空间区域内的子体数据再次空间划分及判断再次划分后的投影区域与裁剪区域的位置关系,直至划分后的投影区域完全被包含于所述裁剪区域内并被裁剪或当前节点没有子节点时,则对应的空间划分终止;
    当所述投影区域与所述裁剪区域没有重叠时,取消对所述投影区域所对应的空间区域进行裁剪处理。

    2.
      如权利要求1所述的三维图像裁剪方法,其特征在于,所述对所述体数据进行空间划分包括:对所述体数据进行八叉树空间划分。

    3.
      如权利要求1所述的三维图像裁剪方法,其特征在于,判断位于所述子空间区域内的体数据在所述二维平面的投影区域与所述裁剪区域的位置关系,包括获取投影区域对应的投影点,所述投影点包括:
    将经过空间划分的所述体数据对应的节点放入存储空间中并作为当前节点;
    计算所述存储空间中当前节点所对应空间区域的顶点在二维平面上的投影点。

    4.
      如权利要求3所述的三维图像裁剪方法,其特征在于,所述对所述投影区域对应的子空间区域内的子体数据再次空间划分及判断再次划分后的投影区域与裁剪区域的位置关系,直至划分后的投影区域完全被包含于所述裁剪区域内并被裁剪,则对应的空间划分终止包括:
    将所述当前节点的子节点放入所述存储空间,得到新的当前节点;
    重新计算所述当前节点的所有顶点在二维平面上的投影点;
    判断所述当前节点的所有顶点在二维平面上的投影点所组成的投影区域与所述裁剪区域的位置关系;当所述当前节点所对应空间区域的所有顶点所组成的投影区域与所述裁剪区域部分重叠时,将所述当前节点的子节点放入所述存储空间,得到新的当前节点,重新计算所述当前节点的所有顶点在二维平面上的投影点,并判断所述当前节点的所有顶点在二维平面上的投影点所组成的投影区域与所述裁剪区域的位置关系,直至所述当前节点没有子节点。

    5.
      如权利要求4所述的三维图像裁剪方法,其特征在于,还包括:当所述当前节点没有子节点时,计算所述子节点所对应空间区域的所有体素在二维平面上的投影,并判断所述体素的投影区域与所述裁剪区域的位置关系,直到遍历完所述子节点的所有体素。

    6.
      如权利要求1所述的三维图像裁剪方法,其特征在于,所述裁剪当前节点所对应的空间区域包括:
    遍历所述节点的所有体素,并对所述体素标记需要被裁剪修改的标记数据。

    7.
      如权利要求1所述的三维图像裁剪方法,其特征在于,所述裁剪当前节点所对应的空间区域包括:
    遍历所述当前节点对应的空间区域中的所有体素,并标记所述空间区域中待裁剪的体素;
    当进行图像渲染时,跳过所述被标记的体素,或者对所述被标记的体素按照预设的显示参数进行处理。

    8.
      一种三维图像裁剪装置,其特征在于,包括:
    划分单元,提供三维图像体数据及裁剪区域,对所述体数据进行空间划分,形成位于若干子空间区域内的子体数据;
    判断单元,提供基于视角的二维平面,并判断位于所述子空间区域内的子体数据在所述二维平面的投影区域与所述裁剪区域的位置关系;
    裁剪单元,当所述投影区域完全被包含于所述裁剪区域内时,裁剪所述投 影区域对应的子体数据;
    控制单元,用于当所述投影区域与所述裁剪区域部分重叠时,对所述投影区域对应的子空间区域内的子体数据再次空间划分及判断再次划分后的投影区域与裁剪区域的位置关系,直至划分后的投影区域完全被包含于所述裁剪区域内并被裁剪或当前节点没有子节点时,则对应的空间划分终止;
    取消单元,用于当所述投影区域与所述裁剪区域没有重叠时,取消对所述投影区域所对应的空间区域进行裁剪处理。

    9.
      如权利要求8所述的三维图像裁剪装置,其特征在于,所述划分单元,用于对所述体数据进行八叉树空间划分。

    10.
      如权利要求8所述的三维图像裁剪装置,其特征在于,所述判断单元包括:
    获取子单元,用于获取投影区域对应的投影点;所述获取子单元包括:
    放入模块,用于将经过空间划分的所述体数据对应的节点放入存储空间中并作为当前节点;
    计算模块,用于计算所述存储空间中当前节点所对应空间区域的顶点在二维平面上的投影点。

    11.
      如权利要求10所述的三维图像裁剪装置,其特征在于,所述控制单元包括:
    放入子单元,将所述当前节点的子节点放入所述存储空间,得到新的当前节点;
    第一计算子单元,用于重新计算所述当前节点的所有顶点在二维平面上的投影点;
    判断子单元,判断所述当前节点的所有顶点在二维平面上的投影点所组成的投影区域与所述裁剪区域的位置关系;
    第二计算子单元,用于当所述当前节点所对应空间区域的所有顶点所组成的投影区域与所述裁剪区域部分重叠时,将所述当前节点的子节点放入所述存储空间,得到新的当前节点,重新计算所述当前节点的所有顶点在二维平面上的投影点,并判断所述当前节点的所有顶点在二维平面上的投影点所组成的投影区域与所述裁剪区域的位置关系,直至所述当前节点没有 子节点。

    12.
      如权利要求11所述的三维图像裁剪装置,其特征在于,所述控制单元还包括:
    计算模块,用于当所述当前节点没有子节点时,计算所述子节点所对应空间区域的所有体素在二维平面上的投影;
    判断模块,用于判断所述体素的投影区域与所述裁剪区域的位置关系,直到遍历完所述子节点的所有体素。

    说明书

    三维图像裁剪方法及装置
    技术领域
    本发明涉及图像处理技术领域,尤其涉及一种三维图像裁剪方法及装置。
    背景技术
    用户在观察医疗数据的三维显示图像时,经常需要去掉一些不关心的部位或组织,比如需要去掉头骨来看脑部血管的信息,这时就需要借助裁剪工具进行操作。对于三维图像来说,裁剪的效率和精度对于用户体验来说往往是至关重要的,尤其当体数据的数据量较大时,裁剪装置的性能尤其重要。
    现有技术的裁剪方法,是通过对空间划分后的体数据做投影以区分需要裁剪的区域。但是这种方法在实际应用中,从起初的最大的体数据开始,一直到最小划分的体数据逐步投影,会存在很多的冗余计算,使得操作的执行时间太长,效率不够高。另一方面,如果精度划分得不够精细,则对于小于最小划分空间区域的体数据区域,则可能会出现裁剪不掉的问题。例如,如果最小划分的体数据精度在1cm,则一般只能处理1cm以上大小维度的操作,而小于1cm的(比如2mm)大小维度的裁剪操作就无法处理了。
    发明内容
    本发明实施例解决的问题是如何提高体数据裁剪的效率。
    为解决上述问题,本发明实施例提供一种三维图像裁剪方法,包括:提供三维图像体数据及裁剪区域,对所述体数据进行空间划分,形成位于若干子空间区域内的子体数据;提供基于视角的二维平面,并判断位于所述子空间区域内的子体数据在所述二维平面的投影区域与所述裁剪区域的位置关系:当所述投影区域完全被包含于所述裁剪区域内时,裁剪所述投影区域对应的子体数据;当所述投影区域与所述裁剪区域部分重叠时,对所述投影区域对应的子空间区域内的子体数据再次空间划分及判断再次划分后的投影区域与裁剪区域的位置关系,直至划分后的投影区域完全被包含于所述裁剪区域内并被裁剪或当前节点没有子节点时,则对应的空间划分终止;当所述投 影区域与所述裁剪区域没有重叠时,取消对所述投影区域所对应的空间区域进行裁剪处理。
    可选的,所述对所述体数据进行空间划分包括:对所述体数据进行八叉树空间划分。
    可选的,判断位于所述子空间区域内的体数据在所述二维平面的投影区域与所述裁剪区域的位置关系,包括获取投影区域对应的投影点,所述投影点包括:将经过空间划分的所述体数据对应的节点放入存储空间中并作为当前节点;计算所述存储空间中当前节点所对应空间区域的顶点在二维平面上的投影点。
    可选的,所述对所述投影区域对应的子空间区域内的子体数据再次空间划分及判断再次划分后的投影区域与裁剪区域的位置关系,直至划分后的投影区域完全被包含于所述裁剪区域内并被裁剪,则对应的空间划分终止包括:将所述当前节点的子节点放入所述存储空间,得到新的当前节点;重新计算所述当前节点的所有顶点在二维平面上的投影点;判断所述当前节点的所有顶点在二维平面上的投影点所组成的投影区域与所述裁剪区域的位置关系;当所述当前节点所对应空间区域的所有顶点所组成的投影区域与所述裁剪区域部分重叠时,将所述当前节点的子节点放入所述存储空间,得到新的当前节点,重新计算所述当前节点的所有顶点在二维平面上的投影点,并判断所述当前节点的所有顶点在二维平面上的投影点所组成的投影区域与所述裁剪区域的位置关系,直至所述当前节点没有子节点。
    可选的,当所述当前节点没有子节点时,计算所述子节点所对应空间区域的所有体素在二维平面上的投影,并判断所述体素的投影区域与所述裁剪区域的位置关系,直到遍历完所述子节点的所有体素。
    可选的,所述裁剪当前节点所对应的空间区域包括:遍历所述节点的所有体素,并对所述体素标记需要被裁剪修改的标记数据。
    可选的,所述裁剪当前节点所对应的空间区域包括:遍历所述当前节点对应的空间区域中的所有体素,并标记所述空间区域中待裁剪的体素;当进行图像渲染时,跳过所述被标记的体素,或者对所述被标记的体素按照预设 的显示参数进行处理。
    为了解决上述的技术问题,本发明实施例还公开了一种三维图像裁剪装置,包括:划分单元,提供三维图像体数据及裁剪区域,对所述体数据进行空间划分,形成位于若干子空间区域内的子体数据;判断单元,提供基于视角的二维平面,并判断位于所述子空间区域内的子体数据在所述二维平面的投影区域与所述裁剪区域的位置关系;裁剪单元,当所述投影区域完全被包含于所述裁剪区域内时,裁剪所述投影区域对应的子体数据;控制单元,用于当所述投影区域与所述裁剪区域部分重叠时,对所述投影区域对应的子空间区域内的子体数据再次空间划分及判断再次划分后的投影区域与裁剪区域的位置关系,直至划分后的投影区域完全被包含于所述裁剪区域内并被裁剪或当前节点没有子节点时,则对应的空间划分终止;取消单元,用于当所述投影区域与所述裁剪区域没有重叠时,取消对所述投影区域所对应的空间区域进行裁剪处理。
    可选的,所述划分单元,用于对所述体数据进行八叉树空间划分。
    可选的,所述判断单元包括:获取子单元,用于获取投影区域对应的投影点;所述获取子单元包括:放入模块,用于将经过空间划分的所述体数据对应的节点放入存储空间中并作为当前节点;计算模块,用于计算所述存储空间中当前节点所对应空间区域的顶点在二维平面上的投影点。
    可选的,所述控制单元包括:放入子单元,将所述当前节点的子节点放入所述存储空间,得到新的当前节点;第一计算子单元,用于重新计算所述当前节点的所有顶点在二维平面上的投影点;判断子单元,判断所述当前节点的所有顶点在二维平面上的投影点所组成的投影区域与所述裁剪区域的位置关系;第二计算子单元,用于当所述当前节点所对应空间区域的所有顶点所组成的投影区域与所述裁剪区域部分重叠时,将所述当前节点的子节点放入所述存储空间,得到新的当前节点,重新计算所述当前节点的所有顶点在二维平面上的投影点,并判断所述当前节点的所有顶点在二维平面上的投影点所组成的投影区域与所述裁剪区域的位置关系,直至所述当前节点没有子节点。
    可选的,所述控制单元还包括:计算模块,用于当所述当前节点没有子节点时,计算所述子节点所对应空间区域的所有体素在二维平面上的投影;判断模块,用于判断所述体素的投影区域与所述裁剪区域的位置关系,直到遍历完所述子节点的所有体素。
    与现有技术相比,本发明实施例的技术方案具有以下优点:
    对体数据做空间划分,并将划分后的空间体数据的顶点进行平面投影,通过判断投影平面上投影区和裁剪区域的位置关系来计算被裁剪掉的体数据。由于在计算裁剪区域时不必逐一对每个体素求投影,而是利用八叉树的空间结构,只将划分后体数据块的顶点根据视角位置投影到平面,将三维空间的裁剪判定计算转换为在二维投影平面上的判定计算,因此很大程度上减少了运算量,大幅提高了运算速度,解决了裁剪性能问题。
    进一步,由于是根据裁剪区域和投影区域位置关系确定被裁体数据的划分精度,裁剪可以精确到体素级,因此避免了体数据区域裁剪不掉的问题。
    附图说明
    图1是本发明实施例中一种三维图像裁剪方法的流程图;
    图2是本发明另一实施例中一种三维图像裁剪方法的流程图;
    图3是本发明实施例中一种三维图像裁剪装置的结构示意图。
    具体实施方式
    现有技术中,对三维图像裁剪方法,主要是通过对空间划分后的体数据做投影以区分需要裁剪的区域。但是这种方法在实际应用中,从起初的最大的体数据开始,一直到最小划分的体数据逐步投影,会存在很多的冗余计算,使得操作的执行时间太长,效率不够高。另一方面,如果精度划分得不够精细,则对于小于最小划分空间区域的体数据区域,则可能会出现裁剪不掉的问题。例如,如果最小划分的体数据精度在1cm,则一般只能处理1cm以上大小维度的操作,而小于1cm的(比如2mm)大小维度的裁剪操作就无法处理了。
    为了解决上述的技术问题,本发明实施例公开了一种三维图像裁剪方法, 对体数据做空间划分,并将划分后的空间体数据的顶点进行平面投影,通过判断投影平面上投影区和裁剪区域的位置关系来计算被裁剪掉的体数据。由于在计算裁剪区域时不必逐一对每个体素求投影,而是利用划分后的空间结构,只将划分后体数据块的顶点根据视角位置投影到平面,从而可以将三维空间的裁剪判定计算转换为在二维投影平面上的判定计算,因此很大程度上减少了运算量,大幅提高了运算速度,解决了裁剪性能问题;同时,又由于是根据裁剪区域和投影区域位置关系确定被裁体数据的划分精度,因此避免了体数据区域裁剪不掉的问题,解决了效率和精度难以兼顾的问题。
    为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
    图1示出了本发明实施例中的一种三维图像裁剪方法的流程图。如图1所示的三维图像裁剪方法,可以包括:
    步骤S101,提供三维图像体数据及裁剪区域,对所述体数据进行空间划分,形成位于若干子空间区域内的子体数据。
    上述的裁剪区域是根据与用户交互的过程中,由用户给定的范围。具体来说,当对所述三维图像的数据进行可视化呈现时,用户可以通过鼠标或手写笔等外设在显示的图像界面上描绘出希望进行裁剪的目标区域的边界或范围。根据用户的输入信息,即可得到所述裁剪区域。
    上述的体数据是三维空间中沿轴向延伸的立方体区域所对应的数据信息。通过一定的空间划分算法可以按照需要对所述三维图像的体数据进行划分管理,进而形成对应三维空间中若干子空间区域内的子体数据。
    步骤S102,提供基于视角的二维平面,并判断位于所述子空间区域内的子体数据在所述二维平面的投影区域与所述裁剪区域的位置关系。
    所述视角为对所述三维图像的数据进行可视化呈现,并由用户确定裁剪区域时的视角,因此所述裁剪区域位于基于所述视角所确定的二维平面上。
    在具体实施中,判断位于所述子空间区域内的子体数据在所述二维平面的投影区域与所述裁剪区域的位置关系可以包括:首先获取投影区域所对应的投影点,从而根据所述投影点形成所述投影区域。
    在上述的具体实例中,所述投影点可以通过以下步骤获取:将经过空间划分的所述体数据对应的节点放入存储空间中并作为当前节点,并基于当前视角,计算所述存储空间中当前节点所对应空间区域的顶点在二维平面上的投影点。
    经过空间划分后,所述三维图像体数据被划分为相互之间具有特定关系的数据节点(包括相应的数据域和指针域)的集合。根据数据节点集合之间的顺序关系,即可实现对所述三维图像的完全遍历,并计算出所述三维图像的子空间区域在所二维平面上的投影点以及投影区域,进而根据所述投影区域与所述裁剪区域的位置关系,判断其是否属于需要裁剪的内容。
    步骤S103,当所述投影区域完全被包含于所述裁剪区域内时,裁剪所述投影区域对应的子体数据。
    当对当前数据节点经计算后得到的投影区域被所述裁剪区域完全包含时,判定子体数据所对应的子空间区域属于需要被裁剪去除的部分,因此对该部分子体数据执行相应的裁剪操作。
    在具体实施中,所述裁剪操作可以是遍历所述节点的所有体素,并对所述体素标记需要被裁剪修改的标记数据,所述标记数据用于标记该体素是否被裁剪。在三维图像绘制显示时,体绘制结果由原始体数据和所述标记数据来确定。例如,标记数据可以设置0表示被裁剪,设置1表示不被裁剪,根据所述标记数据是0还是1确定该点体数据是否被显示,不被显示的部分在用户看来相当于被裁剪掉了,从而实现了裁剪的效果。
    在具体实施中,所述裁剪操作还可以是遍历所述当前节点对应的空间区域中的所有体素,并标记所述空间区域中待裁剪的体素。当进行图像渲染时,跳过所述被标记的体素,或者对所述被标记的体素按照预设的显示参数,例如在颜色表中预设颜色,进行隐藏处理。
    步骤S104,当所述投影区域与所述裁剪区域部分重叠时,对所述投影区域对应的子空间区域内的子体数据再次空间划分及判断再次划分后的投影区域与裁剪区域的位置关系,直至划分后的投影区域完全被包含于所述裁剪区域内并被裁剪或当前节点没有子节点时,则对应的空间划分终止;
    当对当前数据节点计算后得到的投影区域与所述裁剪区域部分重叠时,判定子体数据所对应的子空间区域中存在属于需要被裁剪去除的部分,也有不需要被裁剪去除的部分,因此需要将当前的子空间区域进一步划分。即将当前子空间区域所对应节点的子节点放入存储空间中,以判断该子节点所对应更小的空间区域是否需要被裁剪。
    循环执行上述的计算和判定步骤,直至找到需要被完全裁剪的空间区域,即划分后的投影区域完全被包含于所述裁剪区域内,并执行相应的裁剪操作;或根据所述步骤S101的空间划分算法后的当前节点为叶子节点,不存在子节点。
    在具体实施中,当所述当前节点没有子节点时,可以计算所述子节点所对应空间区域的所有体素在二维平面上的投影,并判断所述体素的投影区域与所述裁剪区域的位置关系,直到遍历完所述子节点的所有体素。
    步骤S105,当所述投影区域与所述裁剪区域没有重叠时,取消对所述投影区域所对应的空间区域进行裁剪处理。
    当对当前数据节点经计算后得到的投影区与所述裁剪区域没有重叠时,判定子体数据所对应的子空间区域不属于需要被裁剪去除的部分,因此不对该部分子体数据执行相应的裁剪操作。
    在具体实施中,可以采用如上述步骤S103的裁剪方法,如将标记数据设置为1,表示所述体数据不被裁剪。
    本发明实施例的一种三维图像的裁剪方法,通过判断投影平面上投影区和裁剪区域的位置关系来判断体数据是否要进行裁剪,将现有技术中三维空间的裁剪判定计算转换为在二维投影平面上的判定计算,从而避免了许多冗余计算,提高了效率。同时又由于是根据裁剪区域和投影区域位置关系逐步确定被裁体数据的划分精度,最终可以通过小体积的体素进行判断,因此避免了三维图像的部分空间区域裁剪不掉的问题,同时解决了效率和精度难以兼顾的问题。
    本发明实施例还公开了另一种三维图像裁剪方法,如图2所示,所述三维图像裁剪方法包括:
    步骤S201,提供三维图像体数据及裁剪区域,对所述体数据按照八叉树进行数据划分进行空间划分,形成位于若干子空间区域内的子体数据。
    与上述实施例的步骤S101区别在于,本实施例对所述体数据的空间划分是按照八叉树进行划分的。八叉树的数据结构是三维数据的压缩形式,该数据结构将所要表示的三维空间按X、Y、Z轴向进行分割,形成八个立方体,然后根据每个立方体的划分目标来决定对各立方体是否需要继续进行八等分的划分,或者可以一直划分到大小成为预设的体素大小为止。
    可以理解的是,本发明对所述体数据的空间划分并不仅局限于按照八叉树算法进行划分,也可以通过其他的划分算法进行空间划分。因此本发明实施例中八叉树算法的应用并不限制本发明的保护范围。
    步骤S202,将八叉树的根节点放入所述存储空间中。
    在具体实施中,所述存储空间可以是堆栈。为了说明方便,下文将以堆栈为例进行说明。但是可以理解的是,其并不限制本发明实施例的保护范围。本发明实施例中的存储空间也可以是其他结构形式,例如可以是队列等。
    步骤S203,判断所述存储空间是否为空。
    当所述存储空间为空时,说明当前不存在节点,则三维图像的裁剪流程结束。当所述存储空间不为空时,则取出所述堆栈中的栈顶节点,并进入步骤S204。
    步骤S204,提供基于视角的二维平面,并计算所述栈顶节点的顶点在所述二维平面上的投影点。
    步骤S205,检测所述投影点是否都位于所述裁剪区域内。
    当所述投影点都位于所述裁剪区域内时,判定此时的节点所对应的空间区域都属于需要被裁剪去除的部分,并进入步骤S206。当所述投影点并非都位于所述裁剪区域内时,判定此时的节点所对应的空间区域中存在不需要裁剪去除的部分,并进入步骤S207。
    步骤S206,裁剪所述投影区域对应的子体数据。
    在具体实施中,所述步骤S206可以采取与图1所示实施中步骤S103相 同的裁剪方式,此处不再赘述。
    当完成执行所述步骤S206后,返回步骤S203,检测当前堆栈中是否存在数据元素,并循环执行后续步骤。
    步骤S207,检测所述投影点是否都位于所述裁剪区域外。
    由于当所述投影点均位于所述裁剪区域之外时,由所述投影点所形成的投影区域与所述裁剪区域存在不相交或者所述裁剪区域包含于所述投影区域两种情况,因此可进入步骤S208进一步判定当前节点的体数据所对应的空间区域是否存在需要裁剪的部分。
    当所述投影点并非都位于所述裁剪区域时,判定当前节点所对应的空间区域存在需要裁剪的部分,也存在不需要裁剪的部分,并进入步骤S209。
    步骤S208,计算所述投影点的投影区域,并判断所述投影区域与所述裁剪区域是否相交。
    在具体实施中,为了简化计算,可以计算所述投影点的最大投影区域。即选取8个投影点中横坐标的最大值和最小值以及纵坐标的最大值和最小值,从而形成矩形的投影区域。
    当所述投影区域与所述裁剪区域相交时,即所述裁剪区域完全包含于所述投影区域时,判定子体数据所对应的子空间区域中存在属于需要被裁剪去除的部分,并进入步骤S209。
    当所述投影区域与所述裁剪区域不相交时,判定当前节点的体数据所对应的空间区域不属于需要被裁剪去除的部分,并进入步骤S210。
    步骤S209,检测当前的节点是否为叶子节点。
    当检测到当前的节点为叶子节点时,进入步骤S211。当检测到当前的节点不是叶子节点时,则进入步骤S212。
    步骤S210,取消对所述投影区域所对应的空间区域进行裁剪处理。
    在具体实施中,所述步骤S210可以采取与图1所示实施中步骤S105相同的取消裁剪的方式,此处不再赘述。
    步骤S211,遍历当前节点的所有体素,逐点判断体素的投影点与所述裁剪区域的关系。
    判断体素的投影点与所述裁剪区域的关系与通过步骤S204~步骤S210判断节点的投影点与所述裁剪区域的关系相似,即通过对体素在二维平面上做投影,判断其投影区域与裁剪区域的位置关系。当判定体素为需要裁剪的部分时,则对体素执行相应的裁剪操作;当判定体素为不需要裁剪的部分时,取消对体素执行相应的裁剪操作。由于检测可以被精确到体素级,因此避免了体数据区域裁剪不掉的问题。
    步骤S212,将当前节点的子节点放入堆栈中。
    将所述当前节点的子节点放入所述存储空间,得到新的当前节点,返回步骤S203并循环执行前述步骤,即重新计算所述当前节点的所有顶点在二维平面上的投影点,并判断所述当前节点的所有顶点在二维平面上的投影点所组成的投影区域与所述裁剪区域的位置关系,直至所述当前节点没有子节点。
    本发明实施例还公开了一种三维图像裁剪装置,如图3所示,所述三维图像裁剪装置可以包括:
    划分单元301,提供三维图像体数据及裁剪区域,对所述体数据进行空间划分,形成位于若干子空间区域内的子体数据;
    判断单元302,提供基于视角的二维平面,并判断位于所述子空间区域内的子体数据在所述二维平面的投影区域与所述裁剪区域的位置关系;
    裁剪单元303,当所述投影区域完全被包含于所述裁剪区域内时,裁剪所述投影区域对应的子体数据;
    控制单元304,用于当所述投影区域与所述裁剪区域部分重叠时,对所述投影区域对应的子空间区域内的子体数据再次空间划分及判断再次划分后的投影区域与裁剪区域的位置关系,直至划分后的投影区域完全被包含于所述裁剪区域内并被裁剪或当前节点没有子节点时,则对应的空间划分终止;
    取消单元305,用于当所述投影区域与所述裁剪区域没有重叠时,取消对所述投影区域所对应的空间区域进行裁剪处理。
    在具体实施中,所述划分单元303,用于对所述体数据进行八叉树空间划分。
    在具体实施中,所述判断单元302可以包括:获取子单元,用于获取投影区域对应的投影点;
    所述获取子单元包括:放入模块,用于将经过空间划分的所述体数据对应的节点放入存储空间中并作为当前节点;计算模块,用于计算所述存储空间中当前节点所对应空间区域的顶点在二维平面上的投影点。
    在具体实施中,所述控制单元304可以包括:放入子单元,将所述当前节点的子节点放入所述存储空间,得到新的当前节点;第一计算子单元,用于重新计算所述当前节点的所有顶点在二维平面上的投影点;判断子单元,判断所述当前节点的所有顶点在二维平面上的投影点所组成的投影区域与所述裁剪区域的位置关系;第二计算子单元,用于当所述当前节点所对应空间区域的所有顶点所组成的投影区域与所述裁剪区域部分重叠时,将所述当前节点的子节点放入所述存储空间,得到新的当前节点,重新计算所述当前节点的所有顶点在二维平面上的投影点,并判断所述当前节点的所有顶点在二维平面上的投影点所组成的投影区域与所述裁剪区域的位置关系,直至所述当前节点没有子节点。
    在具体实施中,所述控制单元304还可以包括:计算模块,用于当所述当前节点没有子节点时,计算所述子节点所对应空间区域的所有体素在二维平面上的投影;判断模块,用于判断所述体素的投影区域与所述裁剪区域的位置关系,直到遍历完所述子节点的所有体素。
    在具体实施中,所述控制单元304还可以包括:计算模块,用于当所述当前节点没有子节点时,计算所述子节点所对应空间区域的所有体素的顶点在二维平面上的投影点;判断模块,用于判断所述体素的投影区域与所述裁剪区域的位置关系,直到遍历完所述子节点的所有体素。
    本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
    虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

    关 键  词:
    三维 图像 裁剪 方法 装置
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:三维图像裁剪方法及装置.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4601809.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1