一种果树冠层叶子和果实三维重建方法及系统的制作方法

文档序号:6539184阅读:164来源:国知局
一种果树冠层叶子和果实三维重建方法及系统的制作方法
【专利摘要】本发明提供一种果树冠层叶子和果实三维重建方法及系统,包括:提取果树冠层的三维枝干骨架,判断所述枝干骨架中的每一根枝条是否连接有子枝条,对连接有子枝条的枝条生成叶簇枝和果枝,构建叶子和果实的三维模型,根据所述叶子的三维模型在所述三维枝干骨架中的枝条上生成叶子,根据所述果实的三维模型在所述果枝上生成果实。本发明结合三维点云的果树枝干骨架提取方法,实现带叶、带果状态果树冠层形态结构的快速三维模型重建,重建的冠层模型中叶子的数量、大小和方向更加符合真实果树的形态特征,同时该模型具有很好的通用性,从而为进行果树冠层的结构分析、生理生态特性评价等应用提供高精度的基础模型支持。
【专利说明】一种果树冠层叶子和果实三维重建方法及系统
【技术领域】
[0001]本发明涉及三维图形处理【技术领域】,尤其涉及一种果树冠层叶子和果实三维重建方法及系统。
【背景技术】
[0002]果树冠层的三维重建是农学研究、图形仿真等应用领域的热点问题,准确、快速的冠层三维重建对于果树冠层形态结构分析、生理功能计算等均有十分重要的意义。叶子和果实作为果树最重要的两个器官,对于果树树形的外观塑造、冠层形态特征和生理功能计算等都有十分重要的影响,因此如何实现叶子和果实器官的准确生成是果树冠层三维重建的关键技术问题。
[0003]最直接、最精确的方法是利用三维数字化仪对果树冠层进行数据采集,详细获取冠层中每根枝条上每个叶子的位置、方向和大小等信息,并基于这些信息重建果树冠层的三维模型[Sonohat2006] (Sonohat G, Sinoquet H, Kulandaivelu V, etal.“Three-dimensional reconstruction of partially3D digitised peach treecanopies”.Tree Physiology2006, 26:337-351)。由于果树冠层形态结构复杂,因此该方法需要花费大量的人力和时间进行数据采集,一株成年果树一般需要花费几个人几天的时间进行数据测量;同时由于树形高大,手工测量极不方便,往往需要搭建支架等辅助设施,因此这种重建方法存在数据采集不便、工作繁琐的缺点。
[0004]直接从三维点云中进行树木冠层三维重建也是一直选择。例如,(马伟,项波,查红彬等.“基于测量数据的植物建模中国科学F辑:信息科学,2009,39 (I):134-144)针对大部分植物的叶片具有尖锐特征的特点,实现了一种基于三维点云数据的小型植物冠层三维重建方法。但是,由于树木冠层枝叶繁茂,相互遮挡严重,三维扫描时冠层中大部分叶子和果实被遮挡而无法完整获取,因此该方法重建的植物模型只是视觉上的相似,准确性不高;同时该方法在重建时整个冠层重复使用同一个平整的叶片模型,导致重建的树木三维模型中叶子的空间姿态单一,严重影响叶面积、光截获能力的计算,也与自然界中“同一株树木上没有完全相同的两片叶子”的多样性不符。
[0005]另一种方法是采用某种规则或树木冠层枝叶的空间分布知识进行冠层三维重建,一般称为基于规则的重建方法,而对于现有基于规则的树木冠层三维重建方法,这些方法都存在一个共同的缺点:所添加的叶子大小相同、形态相同,或仅仅通过简单的随机方法改变大小和方向,缺乏生理上的科学性,难以体现自然界植物冠层中叶子在形态、颜色上的多样性,也会引起最终重建的冠层模型中叶面积、光截获能力的计算结果存在较大的误差。
[0006]综合而言,虽然目前关于果树冠层形态结构三维重建方面的有了一些方法,但由于果树形态结构特有的复杂性,这些方法在实现果树形态结构的快速、精确三维重建时仍然存在不足。此外,已有的树木冠层三维重建方法中都只是考虑了叶子器官的添加或生成,而对于果实器官均没有考虑。
【发明内容】

[0007]本发明所要解决的技术问题是如何结合现有基于三维点云的果树枝干骨架提取方法,实现带叶、带果状态果树冠层形态结构的快速三维重建,从而为进行果树冠层的结构分析、生理生态特性评价等应用提供高精度的基础模型支持。
[0008]为解决上述技术问题,本发明提出了一种果树冠层叶子和果实三维重建方法,包括以下步骤:
[0009]提取果树冠层的三维枝干骨架;
[0010]判断所述枝干骨架中的每一根枝条是否连接有子枝条;
[0011]对连接有子枝条的枝条生成叶簇枝和果枝;
[0012]构建叶子和果实的三维模型;
[0013]根据所述叶子的三维模型在所述三维枝干骨架中的枝条上生成叶子;
[0014]根据所述果实的三维模型在所述果枝上生成果实。
[0015]优选地,所述方法还包括:
[0016]对没有连接子枝条的枝条根据枝条长度进行枝条分类。
[0017]优选地,所述对没有连接子枝条的枝条根据枝条长度进行枝条分类,具体包括:
[0018]获取所述没有连接子枝条的枝条的长度信息;
[0019]根据所述长度信息按照预设的枝条长度模型将所述没有连接子枝条的枝条分为长枝、中枝和短枝。
[0020]优选地,所述方法还包括:
[0021]为生成的叶子和果实进行颜色优化处理。
[0022]优选地,所述对连接有子枝条的枝条生成叶簇枝和果枝具体包括:
[0023]设置所述连接有子枝条的枝条上生成的叶簇枝的数量;
[0024]根据所述叶簇枝的数量在所述连接有子枝条的枝条上选取叶簇枝的着生点;
[0025]在所述叶簇枝的着生点生成叶簇枝;
[0026]设置所述连接有子枝条的枝条上生成的果枝的数量;
[0027]根据所述果枝的数量在所述连接有子枝条的枝条上选取果枝的着生点;
[0028]在所述果枝的着生点生成果枝。
[0029]优选地,所述根据所述叶子的三维模型在所述三维枝干骨架中的枝条上生成叶子,具体包括:
[0030]预设所述三维枝干骨架中不同类型枝条上放置的叶子数量和叶子最大长度的第一取值规则;
[0031]根据所述第一取值规则在枝条上放置叶子的三维模型,并调整所述叶子的三维模型的方向和大小。
[0032]优选地,所述根据所述果实的三维模型在所述果枝上生成果实,具体包括:
[0033]预设所述果枝上着生果实数量和果实最大直径的第二取值规则;
[0034]根据所述第二取值规则在果枝上放置果实的三维模型,并调整所述果实的三维模型的方向和大小。
[0035]此外,本发明还提供了一种果树冠层叶子和果实三维重建系统,该系统包括:
[0036]枝干骨架提取模块,用于提取果树冠层的三维枝干骨架;[0037]判断模块,用于判断所述枝干骨架中的每一根枝条是否连接有子枝条;
[0038]叶簇枝和果枝生成模块,用于对连接有子枝条的枝条生成叶簇枝和果枝;
[0039]模型构建模块,用于构建叶子和果实的三维模型;
[0040]叶子生成模块,用于根据所述叶子的三维模型在所述三维枝干骨架中的枝条上生成叶子;
[0041]果实生成模块,用于根据所述果实的三维模型在所述果枝上生成果实。
[0042]优选地,所述系统还包括枝条分类模块和优化处理模块;
[0043]枝条分类模块,用于对没有连接子枝条的枝条根据枝条长度进行枝条分类。
[0044]优化处理模块,用于为所述叶子生成模块和果实生成模块生成的叶子和果实进行颜色优化处理。
[0045]优选地,所述叶簇枝和果枝生成模块包括:
[0046]第一设置单元,用于设置所述连接有子枝条的枝条上生成的叶簇枝的数量;
[0047]第一选取单元,用于根据所述叶簇枝的数量在所述连接有子枝条的枝条上选取叶簇枝的着生点;
[0048]叶簇枝生成单元,用于在所述叶簇枝的着生点生成叶簇枝;
[0049]第二设置单元,用于设置所述连接有子枝条的枝条上生成的果枝的数量;
[0050]第二选取单元,用于根据所述果枝的数量在所述连接有子枝条的枝条上选取果枝的着生点;
[0051]果枝生成单元,用于在所述果枝的着生点生成果枝。
[0052]通过采用本发明所公开的一种果树冠层叶子和果实三维重建方法及系统,方便准确地实现了果树冠层叶子和果实的三维重建,本方法所使用的参数简单明了,重建的冠层模型中叶子的数量、大小和方向更加符合真实果树的形态特征,同时本发明具有很好的通用性,只需修改少量的参数取值和更换叶子的纹理贴图即可以满足不同果树品种的应用需求,从而为进行果树冠层的结构分析、生理生态特性评价等应用提供高精度的基础模型支持。
【专利附图】

【附图说明】
[0053]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0054]图1:是本发明一种果树冠层叶子和果实三维重建方法的流程图;
[0055]图2:是本发明实施例中叶子的三维网格模型的示意图;
[0056]图3:是本发明实施例中果实的三维网格模型的示意图;
[0057]图4:是本发明实施例中枝条上叶子的方向计算示意图;
[0058]图5:是本发明实施例中枝条上果实的方向计算示意图;
[0059]图6:是本发明一种果树冠层叶子和果实三维重建系统的模块图。
【具体实施方式】[0060]下面将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0061]本发明实施例中提出了本发明提出了一种果树冠层叶子和果实三维重建方法,如图1所示,包括以下步骤:
[0062]SlOl提取果树冠层的三维枝干骨架;
[0063]S102判断所述枝干骨架中的每一根枝条是否连接有子枝条;
[0064]S103对连接有子枝条的枝条生成叶簇枝和果枝;
[0065]S104构建叶子和果实的三维模型;
[0066]S105根据所述叶子的三维模型在所述三维枝干骨架中的枝条上生成叶子;
[0067]S106根据所述果实的三维模型在所述果枝上生成果实。
[0068]优选地,所述方法还包括:
[0069]对没有连接子枝条的枝条根据枝条长度进行枝条分类。
[0070]优选地,所述对没有连接子枝条的枝条根据枝条长度进行枝条分类,具体包括:
[0071]获取所述没有连接子枝条的枝条的长度信息;
[0072]根据所述长度信息按照预设的枝条长度模型将所述没有连接子枝条的枝条分为长枝、中枝和短枝。
[0073]本发明实施例对通过交互设计方法或者利用基于三维点云的智能提取技术得到的果树枝干骨架中的每条枝条进行分类,以便在不同类型的枝条上进行叶子和果实的添加,具体处理过程如下:
[0074]S11:用户通过手工选择的方式指定作为树干的枝条骨架线。
[0075]S12:按顺序从O开始对果树枝条骨架中的枝条进行编号;将果树枝条骨架中的每根枝条的父枝条编号和子枝条数分别设置为-1和O。
[0076]S13:查找直接与树干连接的一级枝条。方法为对果树枝干骨架中的每根枝条(除树干外),检查检查该枝条的起点坐标是否刚好在树干骨架线上,如是,则将该枝条标记为一级枝条,其父枝条编号设为0,同时将树干的子枝条数增加I。
[0077]S14:查找二级枝条,即与起点坐标在一级枝条骨架线上的枝条。方法为对果树枝干骨架中除树干和一级枝条外的每一根枝条,检查该枝条的起点坐标在哪条一级枝条骨架线上,若发现起点坐标在一级枝条Lbl上,则将该枝条标记为二级枝条,将其父枝条编号设为Lbl的编号,同时将U1的子枝条数增加I。
[0078]S15:依次类推,查找三级、四级、…、η级枝条,直到所有枝条的父枝条编号都大于-1°
[0079]S16:对所有子枝条数为O的枝条即所述没有连接子枝条的枝条,获取所述没有连接子枝条的枝条的长度信息,根据所述长度信息按照预设的枝条长度模型将其枝条类型标记为长枝、中枝或短枝,其中,预设的枝条长度模型为若枝条的长度>Lengthlmg,则该枝条为长枝;若枝条的长度≤Lengthlmg同时> Lengthshtjrt,则该枝条为中枝;若枝条的长度<LengthshOTt,则该枝条为短枝。其中Lengthlmg>LengthshOTt,均为用户指定具体取值的参数,也可在实际应用中根据具体的果树品种经过测量得到,枝条长度的单位为厘米(cm),下同。[0080]优选地,所述方法还包括:
[0081]为生成的叶子和果实进行颜色优化处理。
[0082]优选地,所述对连接有子枝条的枝条生成叶簇枝和果枝具体包括:
[0083]设置所述连接有子枝条的枝条上生成的叶簇枝的数量;
[0084]根据所述叶簇枝的数量在所述连接有子枝条的枝条上选取叶簇枝的着生点;
[0085]在所述叶簇枝的着生点生成叶簇枝;
[0086]设置所述连接有子枝条的枝条上生成的果枝的数量;
[0087]根据所述果枝的数量在所述连接有子枝条的枝条上选取果枝的着生点;
[0088]在所述果枝的着生点生成果枝。
[0089]该步骤的目的在于在果树枝干骨架上生成更短小的叶簇枝和结果枝,这些枝条很难通过基于三维点云数据进行提取或通过人工测量的方法进行获取。
[0090]本发明实施例中提出了具体的处理过程,具体包括:
[0091]S21:生成叶簇枝。方法为对果树枝干骨架中所有子枝条数大于O的枝条,执行如下操作:
[0092](I)对每条枝条Li,计算拟在Li上生成的叶簇枝条数n。n=LengthuX0.2,其中Lengthli为枝条Li的长度。
[0093](2)在枝条Li的骨架线上随机选取η个点,分别记为V1, V2,…,Vn,作为叶簇枝的
着生点。
[0094](3)对每个着生点Vj (I≤j≤η),在垂直于线段Lvsjv」且与点Vj的直线距离为Lengthle的地方随机选取I点Vtop。其中、为枝条Li骨架线的起点坐标,Lengthlc=Lengthshort X λ ; λ为0.2~0.5之间的随机数。贝丨J线段LVjVttjp即为I根叶簇枝条的骨架线,将其加入果树枝干骨架中,并将其枝条类型标记为lc。
[0095]S22:生成果枝。方法为对果树枝干骨架中所有子枝条数大于O的枝条,执行如下操作:
[0096](I)对每条枝条Li,计算拟在Li上生成的叶簇枝条数m。m=LengthuX μ ,其中μ为大于O的密度调整系数,默认值为0.1,也可由用户自行指定。
[0097](2)在枝条Li的骨架线上随机选取m个点,分别记为V1, V2,…,vm,作为果枝的着生点。
[0098](3)对每个着生点Vj (I≤j≤m),在垂直于线段UsjVj且与点Vj的直线距离为Lengthfp的地方随机选取I点Vtop。其中Vsj为枝条Li骨架线的起点坐标,Lengthfp为2.0~4.0之间的随机数。则线段Lvjtop即为I根果枝的骨架线,将其加入果树枝干骨架中,并将其枝条类型标记为fp。
[0099]为了建立叶子和果实的三维网格模型,以便在后续在冠层中生成叶子和果实时使用,本发明实施例中提出的构建叶子和果实的三维模型,具体处理过程如下:
[0100]S31:从真实果树的同一根枝条上不同部位采摘三个叶子,采摘部位分别是枝条顶部、枝条中部和枝条底部;然后将每个叶子平铺在地面上(用白色地板做背景),利用数码相机分别拍摄叶子的正面图像,作为叶子三维网格模型的纹理贴图。
[0101]S32:根据S31步骤获取的三个叶子图像,利用3ds Max等三维建模软件设计三个叶子的三维网格模型,如图2所示,分别记为LM1、LM2和LM3,左边为顶叶模板,中间为中叶模板,右边为底叶模板,其长度和宽度分别为Icm和0.7cm,作为叶子模板。需要注意的是,叶子模板的网格数量可根据需要自由调整,如果需要高精度、细致的描述,可以构建很细致的叶子三维网格模型;叶子模板越细致、网格数量就越多,最终重建的果树冠层三维模型的网格规模就越大。
[0102]S33:利用3ds Max等三维建模软件设计一个果实的三维网格模型,如图3所示,其最大外界四方形为边长为Icm的正方形。
[0103]优选地,所述根据所述叶子的三维模型在所述三维枝干骨架中的枝条上生成叶子,具体包括:
[0104]预设所述三维枝干骨架中不同类型枝条上放置的叶子数量和叶子最大长度的第一取值规则;
[0105]根据所述第一取值规则在枝条上放置叶子的三维模型,并调整所述叶子的三维模型的方向和大小。
[0106]该步骤的作用是通过某些知识规则将建立的叶子模型放置到果树枝干骨架上,实现叶子在果树冠层的三维重建。具体处理过程如下:
[0107]S41:建立不同类型枝条上放置的叶子数量和叶子最大长度的取值规则。
[0108](I)设定长枝的叶子数和最大长度分别为Lnumberlmg和Lengthmaxjmg ;其中,Lnumberlong的默认值为20~25之间的随机数(整数),也可根据不同果树的品种特征经实地调查后确定,或者由用户输入;Lengthmax lmg的默认值为7~10之间的随机数,也可根据不同果树的品种特征经实地调查后确定,或由用户输入。
[0109](2)设定中枝的叶子数和叶子最大长度分别为Lnumbermiddle和Lengthmaxjliddle,其中,Lnumberllliddle=LnumberlmgX0.7 ;LengthMXJliddle=Lengthniax lmg X 0.7。
[0110](3)设定短枝的叶子数和叶子最大长度分别为LnumbershOTt和Lengthmax—shOTt,其中,Lnumbershort=LnumberlongX 0.5 ;Lengthmax short=Lengthmax longX 0.5。
[0111](4)设定叶簇枝的叶子数和叶子最大长度分别为Lnumber1。和Lengthmax—i。,其中,Lnumberlc=8X Θ ,其中 Θ 为 0.9 ~1.2 之间的随机数;Lengthmax—lc=Lengthmax—lQngX0.3。
[0112](5)设定叶子长度和宽度的比例为Lradiolw, Lradiolw=0.6X Θ。
[0113](6)除以上类型枝条外,其他所有枝条的叶子数均为O。
[0114]S42:根据规则在枝条上放置叶子模板,并调整其方向和大小。方法为对果树枝干骨架中所有叶子数大于O的枝条,执行如下操作其中,Li表示当前处理枝条:
[0115](I)根据Li的枝条类型取得叶子数量LnumberLi和叶子最大长度Lengthmaxjjit5
[0116](2 )将枝条Li的骨架线等分为Lnumberlji段(贝U每个分段的长度Lengthsegment—Li=Lengthu+ Lnumberu,其中Lengthy为枝条Li骨架线的长度),从枝条Li骨架线的顶部为始点,从上往下在枝条Li骨架线上每隔Lengthsegment u的地方取I个点,记为V1, V2,…,Vp(P=Lnumberli),作为叶子的着生点。
[0117](3)在枝条Li上每个叶子着生点V」处(1 ≤ j ≤ Lnumberu),从步骤S32构建的叶子模板中选取I个叶子模板LMq ( 1≤q≤3),并添加到生成点 ' 处,并记该新添加的叶子为 lfj。其中,q=(int) (3.0X (float) j+ Lnumberu),若 q〈l,则令 q=l,若 q>3,则令 q =3 ;叶子Ifj的长度Lengthlfj和宽度Widthlfj按下式计算
[0118]Lengthlfj=Lengthmax Li X (2.0_abs (j - Lnumberu + 2.0)/ (Lnumberu + 2.0)) Xk;(k为取值为0.45~0.55之间的随机数),其中abs为取绝对值函数;
[0119]Widthlfj=Lengthmax Li X Lradiolw ;
[0120]叶子Ifj的倾斜角Inclinationlfj(即叶子模板与一个与枝条Li垂直的平面α的夹角)和方位角Azimuth^ (即叶子模板的中轴线在平面α上的投影与叶子If1的中轴线在平面α上的投影的夹角)按如下方式计算,具体为:
[0121](a)若枝条Li的类型为长枝、中枝或短枝,则叶子Ifj的倾斜角Inclinationlfj和方位角Azimuthlfj的计算方法,如图4所示,图4中E、F、G为一条骨架线上的三个点,表示I根枝条;α为垂直于线段Lk的平面;lf\是在该枝条顶部添加的第一个叶子,Lra为If1的中轴线,1^为If2的中轴线,Le, H,为Lra在α上的投影,Lj, κ,为Lik在α上的投影),具体计算公式为
[0122]Inclinationlfj= (1.0 — j+ Lnumberu) X β+20.0,其中 β 为 20.0 ~30 之间的随机数;
[0123]Azimuthlfj= (j_l) X 140.0X Θ,其中 Θ 为 0.9 ~1.2 之间的随机数。
[0124](b)若枝条Li的类型为叶簇枝,则叶子Ifj的倾斜角Inclinationlfj和方位角Azimuthlfj的计算公式为
[0125]Inclinationlfj= (1.0 — j+ Lnumberu) X β+40.0,其中 β 为 20.0 ~30 之间的随机数;
[0126]AzimuthlfJ=360.0X δ,其中 δ 为 0.0 ~LO 之间的随机数。
[0127](4)重复执行步骤(3),即可在枝条Li上生成Lnumberu个叶子。
[0128]优选地,所述根据所述果实的三维模型在所述果枝上生成果实,具体包括:
[0129]预设所述果枝上着生果实数量和果实最大直径的第二取值规则;
[0130]根据所述第二取值规则在果枝上放置果实的三维模型,并调整所述果实的三维模型的方向和大小。
[0131]该步骤的作用是将建立的果实模型放置到果树枝干骨架上,实现果实在果树冠层的三维重建,具体处理过程如下:
[0132]S51:设定果枝上着生果实的数量和果实最大直径分别为Fnumber和Fdiametermax。Fnumber的默认值为1,也可根据不同果树的品种特征经实地调查后确定,或者由用户输入;Fdiametermax的默认值为Lengthmaxjliddle,也可根据不同果树的品种特征经实地调查后确定,或由用户输入。设定果实直径与长度(高度)的比例Fradiodl的值为1.1。
[0133]S52:根据规则在果枝上放置果实模板,并调整其方向和大小。方法为对果树枝干骨架中所有枝条类型为fp为的枝条,执行如下操作(令Li表示当前处理枝条):
[0134](I)将枝条Li的骨架线等分为Fnumber段(则每个分段的长度Lengthsegment—Li=Length1^Fnumber,其中Lengthu为枝条Li骨架线的长度),从枝条Li骨架线的顶部为始点,从上往下在枝条Li骨架线上每隔Lengthsegment—u的地方取I个点,记为V1, V2,…,VpCp=Fnumber),作为果实的着生点。
[0135](2)在每个果实着生点 ' 处添加一个步骤S33构建的果实模板(其中,I≤j≤Fnumber),并记该新添加的果实为ff」。其中,ff」的直径Fdiameterffj和长度Flengthffj按下式计算
[0136]Fdiameterftl=Fdiameterlll χ φ,其中φ为 0.85 ~1.0 之间的随机数;[0137]Flengthffj=FdiameterffjXFradiodl ;
[0138]果实ffj的倾斜角Inclinationffj(即果实模板与果枝的夹角)和方位角Azimuthffj(即果实模板的起点终点线在地面上的投影与果枝在地面的投影的夹角)按下式计算,如图5所示,其中平面α为地面;A、B为I根果枝的起始点;C、D分别为果实模板的起点和终点,La, B,为Lab在α上的投影,Lc, D,为Lm在α上的投影:
[0139]InclinationffJ=90.0X Θ ,其中 Θ 为 0.9 ?1.2 之间的随机数;
[0140]Azimuthffj= (180.0+(j_l) X 180.0X τ )%360,其中 τ 为-1.0 ?1.0 之间的随机数;
[0141](3)重复执行步骤(2),即可在果枝类枝条Li上生成Fnumber个果实。
[0142]本发明实施例中根据枝条类型进行叶子数量的计算,并根据叶子在枝条上的着生位置计算其大小和方向,使得本发明重建的果树冠层中所生成的叶子数量更加符合真实果树的形态特征。
[0143]本发明实施例中还包括对为生成的叶子和果实进行颜色优化处理即对生成的叶子和果实进行颜色赋值,以便在计算机上对重建的果树三维冠层进行显示时每个叶子和果实的颜色都不相同。具体处理过程如下:
[0144]对生成的每个叶子Ifi,令该叶子的颜色为Clfi,其中Clfi的R分量值clfi_r=100+co,Clfi的G分量值Clfi_g=120+co,Clfi的B分量值Clfi_b=130+co ; ω的取值为10?50之间的随机数;R、G和B分别代表红、绿和蓝三种颜色。
[0145]对生成的每个果实ffi;令该果实的颜色为Cffi,其中Cffi的R分量值cffi_r=120+co,Cffi的G分量值Cffi_g=110+co,Cffi的B分量值Cffi_b=100+co ; ω的取值为10?50之间的随机数;R、G和B分别代表红、绿和蓝三种颜色。
[0146]本发明提出的技术方案较好地实现了果树冠层叶子和果实的三维重建,根据枝条类型进行叶子数量的计算,并根据叶子在枝条上的着生位置计算其大小和方向,使得本发明重建的果树冠层中所生成的叶子数量更加符合真实果树的形态特征。
[0147]通过叶簇枝和结果枝的自动添加对果树枝干骨架进行完善,解决了果树中这两类枝条很难通过图像或三维点云进行提取而造成果树枝干骨架中幼枝缺失的问题。
[0148]进行叶子、果实的生成和颜色值的计算时,均加入了一定范围的随机扰动,使得生成的叶子和果实的大小、方向和颜色都不会完全相同,在确保所重建的果树冠层符合大致的植物学原理的前提下,显著提高了重建模型的随机性,因此更符合自然规律。
[0149]良好的通用性,本发明中所使用的大部分参数都没有指定唯一取值,仅给出了默认值,同时允许用户在使用过程中根据实际进行自行调整,以满足用于不同果树品种的应用需求。
[0150]此外,本发明实施例二还提供了一种果树冠层叶子和果实三维重建系统,如图6所示,该系统包括:
[0151]枝干骨架提取模块I,用于提取果树冠层的三维枝干骨架;
[0152]判断模块2,用于判断所述枝干骨架中的每一根枝条是否连接有子枝条;
[0153]叶簇枝和果枝生成模块3,用于对连接有子枝条的枝条生成叶簇枝和果枝;
[0154]模型构建模块4,用于构建叶子和果实的三维模型;
[0155]叶子生成模块5,用于根据所述叶子的三维模型在所述三维枝干骨架中的枝条上生成叶子;
[0156]果实生成模块6,用于根据所述果实的三维模型在所述果枝上生成果实。
[0157]优选地,所述系统还包括枝条分类模块和优化处理模块;
[0158]枝条分类模块,用于对没有连接子枝条的枝条根据枝条长度进行枝条分类。
[0159]优化处理模块,用于为所述叶子生成模块和果实生成模块生成的叶子和果实进行颜色优化处理。
[0160]优选地,所述叶簇枝和果枝生成模块包括:
[0161]第一设置单元,用于设置所述连接有子枝条的枝条上生成的叶簇枝的数量;
[0162]第一选取单元,用于根据所述叶簇枝的数量在所述连接有子枝条的枝条上选取叶簇枝的着生点;
[0163]叶簇枝生成单元,用于在所述叶簇枝的着生点生成叶簇枝;
[0164]第二设置单元,用于设置所述连接有子枝条的枝条上生成的果枝的数量;
[0165]第二选取单元,用于根据所述果枝的数量在所述连接有子枝条的枝条上选取果枝的着生点;
[0166]果枝生成单元,用于在所述果枝的着生点生成果枝。
[0167]通过采用本发明所公开的一种果树冠层叶子和果实三维重建方法及系统,不仅方便准确地实现了果树冠层叶子的三维重建,还实现了果实器官的三维重建,而且本方法所使用的参数简单明了,重建的冠层模型中叶子及果实的数量、大小和方向的计算更加符合真实果树的形态特征,同时本发明具有很好的通用性,只需修改少量的参数取值和更换叶子的纹理贴图即可以满足不同果树品种的应用需求,从而为进行果树冠层的结构分析、生理生态特性评价等应用提供高精度的基础模型支持。
[0168]以上实施例仅用以说明本发明的技术方案而非限定,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
【权利要求】
1.一种果树冠层叶子和果实三维重建方法,其特征在于,包括以下步骤: 提取果树冠层的三维枝干骨架; 判断所述枝干骨架中的每一根枝条是否连接有子枝条; 对连接有子枝条的枝条生成叶簇枝和果枝; 构建叶子和果实的三维模型; 根据所述叶子的三维模型在所述三维枝干骨架中的枝条上生成叶子; 根据所述果实的三维模型在所述果枝上生成果实。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 对没有连接子枝条的枝条根据枝条长度进行枝条分类。
3.根据权利要求2所述的方法,其特征在于,所述对没有连接子枝条的枝条根据枝条长度进行枝条分类,具体包括: 获取所述没有连接子枝条的枝条的长度信息; 根据所述长度信息按照预设的枝条长度模型将所述没有连接子枝条的枝条分为长枝、中枝和短枝。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括: 为生成的叶子和果实进行颜色优化处理。
5.根据权利要求1所述的方法,其特征在于,所述对连接有子枝条的枝条生成叶簇枝和果枝具体包括: 设置所述连接有子枝条的枝条上生成的叶簇枝的数量; 根据所述叶簇枝的数量在所述连接有子枝条的枝条上选取叶簇枝的着生点; 在所述叶簇枝的着生点生成叶簇枝; 设置所述连接有子枝条的枝条上生成的果枝的数量; 根据所述果枝的数量在所述连接有子枝条的枝条上选取果枝的着生点; 在所述果枝的着生点生成果枝。
6.根据权利要求3所述的方法,其特征在于,所述根据所述叶子的三维模型在所述三维枝干骨架中的枝条上生成叶子,具体包括: 预设所述三维枝干骨架中不同类型枝条上放置的叶子数量和叶子最大长度的第一取值规则; 根据所述第一取值规则在枝条上放置叶子的三维模型,并调整所述叶子的三维模型的方向和大小。
7.根据权利要求1所述的方法,其特征在于,所述根据所述果实的三维模型在所述果枝上生成果实,具体包括: 预设所述果枝上着生果实数量和果实最大直径的第二取值规则; 根据所述第二取值规则在果枝上放置果实的三维模型,并调整所述果实的三维模型的方向和大小。
8.一种果树冠层叶子和果实三维重建系统,其特征在于,该系统包括: 枝干骨架提取模块,用于提取果树冠层的三维枝干骨架; 判断模块,用于判断所述枝干骨架中的每一根枝条是否连接有子枝条; 叶簇枝和果枝生成模块,用于对连接有子枝条的枝条生成叶簇枝和果枝;模型构建模块,用于构建叶子和果实的三维模型; 叶子生成模块,用于根据所述叶子的三维模型在所述三维枝干骨架中的枝条上生成叶子; 果实生成模块,用于根据所述果实的三维模型在所述果枝上生成果实。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括枝条分类模块和优化处理模块; 枝条分类模块,用于对没有连接子枝条的枝条根据枝条长度进行枝条分类。 优化处理模块,用于为所述叶子生成模块和果实生成模块生成的叶子和果实进行颜色优化处理。
10.根据权利要求8所述的系统,其特征在于,所述叶簇枝和果枝生成模块包括: 第一设置单元,用于设置所述连接有子枝条的枝条上生成的叶簇枝的数量; 第一选取单元,用于根据所述叶簇枝的数量在所述连接有子枝条的枝条上选取叶簇枝的着生点; 叶簇枝生成单元,用于在所述叶簇枝的着生点生成叶簇枝; 第二设置单元,用于设置所述连接有子枝条的枝条上生成的果枝的数量; 第二选取单元,用于根据所述果枝的数量在所述连接有子枝条的枝条上选取果枝的着生占.~I—?^ \\\ , 果枝生成单元,用于在所述果枝的着生点生成果枝。
【文档编号】G06T17/00GK103824324SQ201410073631
【公开日】2014年5月28日 申请日期:2014年2月28日 优先权日:2014年2月28日
【发明者】陆声链, 郭新宇, 温维亮, 杜建军, 陈尤佳 申请人:北京农业信息技术研究中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1