叶脉确定方法、装置、电子设备和存储介质与流程

文档序号:33649979发布日期:2023-03-29 07:26阅读:65来源:国知局
叶脉确定方法、装置、电子设备和存储介质与流程

1.本公开涉及三维模型技术领域,具体地,涉及一种叶脉确定方法、装置、电子设备和存储介质。


背景技术:

2.针对三维模型中的树叶模型,例如呈放射状的树叶所对应的树叶模型,在模拟树叶模型枯萎变形的过程中,叶脉作为树叶的“骨架”,对树叶的整体姿态起到决定性作用。其中,叶脉主要成分为维管束,维管束中含有大量的径向纤维结构,使得在树叶脱水变形的过程中,相比于其它的叶片细胞,叶脉的变形幅度和速度都更小。所以,要想有效模拟树叶模型枯萎变形的过程,需要预先确定树叶模型中的叶脉位置。而相关技术中,无法通过树叶模型的多个三角面的顶点坐标确定树叶模型中的叶脉。


技术实现要素:

3.本公开的目的是提供一种叶脉确定方法、装置、电子设备和存储介质,根据树叶模型的多个三角面的顶点坐标确定三角面中的独有边,得到树叶模型的多条边缘边;并根据多条边缘边确定边缘顶点序列;再根据边缘顶点序列确定叶脉特征点;最后将叶脉特征点到叶柄点之间的最短路径确定为树叶模型的叶脉;从而能够基于树叶模型的多个三角面的顶点坐标确定呈放射状的树叶所对应的树叶模型中的叶脉。
4.根据本公开实施例的第一方面,提供一种叶脉确定方法,包括:
5.获取构成树叶模型的多个三角面的顶点坐标;
6.根据所述多个三角面的顶点坐标,确定所述树叶模型的多条边缘边,每条所述边缘边为其中一个所述三角面中的一条独有边;
7.按照所述边缘边的连接顺序依次对所述多条边缘边的边缘顶点进行排序,得到边缘顶点序列;
8.针对所述边缘顶点序列中的任一边缘顶点,若与该边缘顶点前后相邻的多个边缘顶点到叶柄点的距离均小于该边缘顶点到所述叶柄点的距离,确定该边缘顶点为叶脉特征点;
9.将所述叶脉特征点到所述叶柄点之间的最短路径确定为所述树叶模型的叶脉。
10.可选地,所述根据所述多个三角面的顶点坐标,确定所述树叶模型的多条边缘边的步骤,包括:
11.针对构成任一三角面的任一三角边,若该三角边的两个顶点的顶点坐标不与其它任一三角面的任一三角边的两个顶点的顶点坐标相同,确定该三角面的该三角边为所述树叶模型的一条边缘边;
12.遍历构成所述树叶模型所有三角面的所有三角边,得到所述树叶模型的多条边缘边。
13.可选地,在所述针对构成任一三角面的任一三角边,若该三角边的两个顶点的顶
点坐标不与其它任一三角面的任一三角边的两个顶点的顶点坐标相同,确定该三角面的该三角边为所述树叶模型的一条边缘边的步骤之前,所述方法还包括:
14.根据所述多个三角面的顶点坐标,确定构成每个三角面的三角边以及构成每条三角边的两个顶点的顶点坐标。
15.可选地,所述按照所述边缘边的连接顺序依次对所述多条边缘边的边缘顶点进行排序,得到边缘顶点序列的步骤,包括:
16.建立一个初始内容为空的原始序列;
17.确定所述多条边缘边的边缘顶点中的第一序列点,所述第一序列点为所述多条边缘边的边缘顶点中与所述叶柄点的距离最小的边缘顶点;
18.将所述第一序列点放入所述原始序列,作为所述原始序列的尾点;
19.循环执行以下操作:将与所述原始序列中最近放入的尾点处于同一条边缘边的另一边缘顶点,放入所述原始序列作为新的尾点,直到所述多条边缘边的边缘顶点中不存在未放入所述原始序列的边缘顶点,得到所述边缘顶点序列。
20.可选地,在所述确定所述多条边缘边的边缘顶点中的第一序列点,所述第一序列点为所述多条边缘边的边缘顶点中与所述叶柄点的距离最小的边缘顶点的步骤之前,所述方法还包括:
21.获取所述叶柄点对应的坐标以及所述多条边缘边的每个边缘顶点所对应的顶点坐标;
22.根据所述叶柄点对应的坐标以及所述多条边缘边的每个边缘顶点所对应的顶点坐标,确定每个边缘顶点与所述叶柄点之间的距离。
23.可选地,所述方法还包括:
24.响应于用户针对所述叶脉模型上的叶柄点的指定操作,对指定的所述叶柄点进行识别,得到所述叶柄点的坐标。
25.可选地,所述针对所述边缘顶点序列中的任一边缘顶点,若与该边缘顶点前后相邻的多个边缘顶点到叶柄点的距离均小于该边缘顶点到所述叶柄点的距离,确定该边缘顶点为叶脉特征点的步骤,包括:
26.建立一个宽度为2k+1的滑动窗,k为大于0的整数;
27.在所述边缘顶点序列上滑动所述滑动窗,每次滑动后的滑动窗内包括2k+1个边缘顶点,且,每次滑动后的滑动窗内包括的边缘顶点与上一次滑动后的滑动窗内的边缘顶点至少部分相同;
28.针对所述滑动窗的每一位置,确定所述滑动窗内的每一个边缘顶点到所述叶柄点的距离;
29.将符合以下条件的边缘顶点确定为所述叶脉特征点:该边缘顶点到所述叶柄点的距离大于在该边缘顶点前的k个边缘顶点到所述叶柄点的距离,且大于在该边缘点后的k个边缘顶点到所述叶柄点的距离。
30.根据本公开实施例的第二方面,提供一种叶脉确定装置,包括:
31.获取模块,被配置为获取构成树叶模型的多个三角面的顶点坐标;
32.第一确定模块,被配置为根据所述多个三角面的顶点坐标,确定所述树叶模型的多条边缘边,每条所述边缘边为其中一个所述三角面中的一条独有边;
33.排序模块,被配置为按照所述边缘边的连接顺序依次对所述多条边缘边的边缘顶点进行排序,得到边缘顶点序列;
34.第二确定模块,被配置为针对所述边缘顶点序列中的任一边缘顶点,若与该边缘顶点前后相邻的多个边缘顶点到叶柄点的距离均小于该边缘顶点到所述叶柄点的距离,确定该边缘顶点为叶脉特征点;
35.第三确定模块,被配置为将所述叶脉特征点到所述叶柄点之间的最短路径确定为所述树叶模型的叶脉。
36.可选地,所述第一确定模块,包括:
37.第一确定子模块,被配置为针对构成任一三角面的任一三角边,若该三角边的两个顶点的顶点坐标不与其它任一三角面的任一三角边的两个顶点的顶点坐标相同,确定该三角面的该三角边为所述树叶模型的一条边缘边;
38.获得子模块,被配置为遍历构成所述树叶模型所有三角面的所有三角边,得到所述树叶模型的多条边缘边。
39.可选地,所述装置还包括:
40.第四确定模块,被配置为根据所述多个三角面的顶点坐标,确定构成每个三角面的三角边以及构成每条三角边的两个顶点的顶点坐标。
41.可选地,所述排序模块,包括:
42.第一建立子模块,被配置为建立一个初始内容为空的原始序列;
43.第二确定子模块,被配置为确定所述多条边缘边的边缘顶点中的第一序列点,所述第一序列点为所述多条边缘边的边缘顶点中与所述叶柄点的距离最小的边缘顶点;
44.放入子模块,被配置为将所述第一序列点放入所述原始序列,作为所述原始序列的尾点;
45.循环子模块,被配置为循环执行以下操作:将与所述原始序列中最近放入的尾点处于同一条边缘边的另一边缘顶点,放入所述原始序列作为新的尾点,直到所述多条边缘边的边缘顶点中不存在未放入所述原始序列的边缘顶点,得到所述边缘顶点序列。
46.可选地,所述装置还包括:
47.获取子单元,被配置为获取所述叶柄点对应的坐标以及所述多条边缘边的每个边缘顶点所对应的顶点坐标;
48.确定子单元,被配置为根据所述叶柄点对应的坐标以及所述多条边缘边的每个边缘顶点所对应的顶点坐标,确定每个边缘顶点与所述叶柄点之间的距离。
49.可选地,所述装置还包括:
50.获得模块,被配置为响应于用户针对所述叶脉模型上的叶柄点的指定操作,对指定的所述叶柄点进行识别,得到所述叶柄点的坐标。
51.可选地,所述第二确定模块,包括:
52.第二建立子模块,被配置为建立一个宽度为2k+1的滑动窗,k为大于0的整数;
53.滑动子模块,被配置为在所述边缘顶点序列上滑动所述滑动窗,每次滑动后的滑动窗内包括2k+1个边缘顶点,且,每次滑动后的滑动窗内包括的边缘顶点与上一次滑动后的滑动窗内的边缘顶点至少部分相同;
54.第三确定子模块,被配置为针对所述滑动窗的每一位置,确定所述滑动窗内的每
一个边缘顶点到所述叶柄点的距离;
55.第四确定子模块,被配置为将符合以下条件的边缘顶点确定为所述叶脉特征点:该边缘顶点到所述叶柄点的距离大于在该边缘顶点前的k个边缘顶点到所述叶柄点的距离,且大于在该边缘点后的k个边缘顶点到所述叶柄点的距离。
56.根据本公开实施例的第三方面,提供一种电子设备,包括:
57.存储器,其上存储有计算机程序;
58.处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面所述叶脉确定方法的步骤。
59.根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面所述叶脉确定方法的步骤。
60.通过上述技术方案,通过根据获取的构成树叶模型的多个三角面的顶点坐标,确定三角面中的独有边,得到树叶模型的多条边缘边;并根据多条边缘边确定边缘顶点序列;再根据边缘顶点序列确定叶脉特征点;最后将叶脉特征点到叶柄点之间的最短路径确定为树叶模型的叶脉。从而能够基于树叶模型的多个三角面的顶点坐标确定呈放射状的树叶所对应的树叶模型中的叶脉。
61.本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
62.附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
63.图1是根据一示例性实施例示出的一种叶脉确定方法的流程图。
64.图2是根据一示例性实施例示出的一种边缘边的确定方法的流程图。
65.图3是根据一示例性实施例示出的一种确定边缘顶点序列的方法的流程图。
66.图4是根据一示例性实施例示出的一种确定叶脉特征点的方法的流程图。
67.图5是根据一示例性实施例示出的一种叶脉模型的叶脉特征点的示意图。
68.图6是根据一示例性实施例示出的一种叶脉确定装置的框图。
69.图7是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
70.以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
71.针对三维模型中的树叶模型,例如呈放射状的树叶所对应的树叶模型,在模拟树叶模型枯萎变形的过程中,叶脉作为树叶的“骨架”,对树叶的整体姿态起到决定性作用。其中,叶脉主要成分为维管束,维管束中含有大量的径向纤维结构,使得在树叶脱水变形的过程中,相比于其它的叶片细胞,叶脉的变形幅度和速度都更小。所以,要想有效模拟树叶模型枯萎变形的过程,需要预先确定树叶模型中的叶脉位置。而相关技术中,无法通过树叶模型的多个三角面的顶点坐标确定树叶模型中的叶脉。
72.针对上述技术问题,对于呈放射状的树叶,树叶的主叶脉从叶片的叶柄点出发,一直向外延伸到叶片边缘。根据该叶脉结构特点,针对呈放射状的树叶所对应的树叶模型,提
出了一种叶脉确定方法、装置、电子设备和存储介质。该叶脉确定方法根据树叶模型的多个三角面的顶点坐标确定三角面中的独有边,得到树叶模型的多条边缘边;并根据多条边缘边确定边缘顶点序列;再根据边缘顶点序列确定叶脉特征点;最后将叶脉特征点到叶柄点之间的最短路径确定为树叶模型的叶脉。从而能够基于树叶模型的多个三角面的顶点坐标确定呈放射状的树叶所对应的树叶模型中的叶脉。
73.图1是根据一示例性实施例示出的一种叶脉确定方法的流程图,如图1所示,该方法可包括以下步骤:
74.在步骤s101中,获取构成树叶模型的多个三角面的顶点坐标。
75.在本实施方式中,对于存在不规则形状的三维模型,均是通过多个三角面构成,构成该三维模型的三角面越小,该三维模型越逼真。其中,本实施例中的树叶模型为呈放射状的树叶所对应的模型,且该树叶模型为单层的叶片三维模型。该类树叶的主叶脉从叶片的叶柄点出发,一直向外延伸到叶片边缘,且该类树叶的叶脉边缘部位呈向外凸起的形状。即,该树叶模型的叶柄点为其对应的树叶的多条叶脉的汇聚点。
76.其中,构成树叶模型的每个三角面的顶点坐标均为三维空间内的坐标,每个三角面可通过该三角面的三个顶点对应的顶点坐标确定。例如,多个三角面对应的多个顶点可为:其中一个三角面的顶点为且为(x1,y1,z1),为(x2,y2,z2),为(x3,y3,z3),其中,n为正整数,表征组成树叶模型的三角面的个数。
77.在步骤s102中,根据多个三角面的顶点坐标,确定树叶模型的多条边缘边,每条边缘边为其中一个三角面中的一条独有边。
78.在本实施方式中,多个三角面通过共用三角边的方法相互连接,构成树叶模型。但对于树叶模型的边缘,由于本实施例中的树叶模型为单层的叶片三维模型,即树叶的正面的三维模型或者树叶的背面的三维模型。所以,该树叶模型的边缘处的三角边不存在共用的情况。
79.根据多个三角面的顶点坐标,即可确定出三角面中的独有边,该独有边为三角面中不与其它三角面共用的三角边。可将该独有边确定为树叶模型的边缘边,通过多条边缘边相互连接,即可组成该树叶模型的边缘。
80.在步骤s103中,按照边缘边的连接顺序依次对多条边缘边的边缘顶点进行排序,得到边缘顶点序列。
81.在本实施方式中,每条边缘边包括两个边缘顶点,多条边缘边相互连接组成该树叶模型的边缘。即,两条边缘边之间通过共用一个边缘顶点,从而使两条边缘边连接在一起。按照多条边缘边之间的连接顺序,可沿着树叶模型的边缘顺时针或者逆时针,对多条边缘边的边缘顶点进行排序,从而得到边缘顶点序列。
82.在步骤s104中,针对边缘顶点序列中的任一边缘顶点,若与该边缘顶点前后相邻的多个边缘顶点到叶柄点的距离均小于该边缘顶点到叶柄点的距离,确定该边缘顶点为叶脉特征点。
83.在本实施方式中,该树叶模型为呈放射状的树叶所对应的模型,该类树叶的主叶脉从叶片的叶柄点出发,一直向外延伸到叶片边缘,且该类树叶的叶脉边缘部位呈向外凸
起的形状。即,在树叶模型的边缘的多个部位,会出现凸起的形状,叶脉会相交于该凸起处的边缘顶点,该顶点即为叶脉特征点。对于局部区域,该叶脉特征点到叶柄点的距离大于该叶脉特征点前后相邻的多个边缘顶点到叶柄点的距离。所以,针对边缘顶点序列中的任一边缘顶点,若与该边缘顶点前后相邻的多个边缘顶点到叶柄点的距离均小于该边缘顶点到叶柄点的距离,可确定该边缘顶点为叶脉特征点。
84.在步骤s105中,将叶脉特征点到叶柄点之间的最短路径确定为树叶模型的叶脉。
85.在本实施方式中,树叶的主叶脉从叶片的叶柄点出发,一直向外延伸到叶片边缘。通过确定该树叶模型上的叶脉特征点到叶柄点之间的最短路径,即可得到该树叶模型的叶脉。示例地,可通过迪杰斯特拉算法确定各个叶脉特征点到叶柄点之间的最短路径。
86.在本实施例中,通过根据获取的构成树叶模型的多个三角面的顶点坐标,确定三角面中的独有边,得到树叶模型的多条边缘边;并根据多条边缘边确定边缘顶点序列;再根据边缘顶点序列确定叶脉特征点;最后将叶脉特征点到叶柄点之间的最短路径确定为树叶模型的叶脉。从而能够基于树叶模型的多个三角面的顶点坐标确定呈放射状的树叶所对应的树叶模型中的叶脉。
87.图2是根据一示例性实施例示出的一种边缘边的确定方法的流程图,如图2所示,在一种可能的实施方式中,根据多个三角面的顶点坐标,确定树叶模型的多条边缘边,可包括以下步骤:
88.在步骤s201中,针对构成任一三角面的任一三角边,若该三角边的两个顶点的顶点坐标不与其它任一三角面的任一三角边的两个顶点的顶点坐标相同,确定该三角面的该三角边为树叶模型的一条边缘边。
89.在本实施方式中,若一个三角面与另外一个三角面共用一条三角边,则这两个三角面对应的该条共用的三角边的两个顶点的顶点坐标是相同的。若存在一条三角边的两个顶点的顶点坐标不与其它任一三角面的任一三角边的两个顶点的顶点坐标相同,可确定该三角面的该三角边为树叶模型的一条边缘边。
90.其中,可根据多个三角面的顶点坐标,确定构成每个三角面的三角边以及构成每条三角边的两个顶点的顶点坐标。具体地,一个三角面对应三个顶点坐标,通过该三角面对应的三个顶点坐标可确定该三角面的三个顶点的位置,该三角面对应的三个顶点中任意两个顶点之间的连线即为该三角面的三角边。
91.例如,多条三角边的数据结构可表示为:
[0092][0093]
在步骤s202中,遍历构成树叶模型所有三角面的所有三角边,得到树叶模型的多条边缘边。
[0094]
在本实施方式中,可遍历每个三角面的三条三角边p,q=1,2,3;i=1,

,n,针对任一一条三角边,判断其它三角面的三角边m,n=1,2,3;j=i,

,n,是否与该条三角边相同,即且若该三角边的两个顶点的顶点坐标不与其它任一三角面的任一三角边的两个顶点的顶点坐标相同,则该三角边即为树叶模型的
一条边缘边。
[0095]
图3是根据一示例性实施例示出的一种确定边缘顶点序列的方法的流程图,如图3所示,在一种可能的实施方式中,按照边缘边的连接顺序依次对多条边缘边的边缘顶点进行排序,得到边缘顶点序列,可包括以下步骤:
[0096]
在步骤s301中,建立一个初始内容为空的原始序列。
[0097]
在本实施方式中,该原始序列用于依次存放多条边缘边对应的多个边缘顶点。
[0098]
在步骤s302中,确定多条边缘边的边缘顶点中的第一序列点,第一序列点为多条边缘边的边缘顶点中与叶柄点的距离最小的边缘顶点。
[0099]
在确定第一序列点之前,可先确定每个边缘顶点到叶柄点之间的距离。具体地,可先获取叶柄点对应的坐标以及多条边缘边的每个边缘顶点所对应的顶点坐标,再根据叶柄点对应的坐标以及多条边缘边的每个边缘顶点所对应的顶点坐标,确定每个边缘顶点与叶柄点之间的距离。
[0100]
其中,叶柄点的坐标可为v0=(x0,y0,z0),边缘顶点的坐标可为每个边缘顶点与叶柄点之间的距离的计算公式可为:
[0101][0102]
在得到每个边缘顶点与叶柄点之间的距离之后,即可将多条边缘边的边缘顶点中与叶柄点的距离最小的边缘顶点确定为第一序列点。
[0103]
在一种可能的实施方式中,若多条边缘边的边缘顶点中与叶柄点的距离最小的边缘顶点有多个,可将该多个边缘顶点中的任意一个边缘顶点确定为第一序列点。
[0104]
在步骤s303中,将第一序列点放入原始序列,作为原始序列的尾点。
[0105]
在本实施方式中,可将确定的第一序列点放入原始序列,作为原始序列的尾点,其中,尾点即为最近放入该原始序列中的边缘顶点。
[0106]
在步骤s304中,循环执行以下操作:将与原始序列中最近放入的尾点处于同一条边缘边的另一边缘顶点,放入原始序列作为新的尾点,直到多条边缘边的边缘顶点中不存在未放入原始序列的边缘顶点,得到边缘顶点序列。
[0107]
在本实施方式中,多条边缘边的边缘顶点为去重后的点,即,对于两条边缘边共用的边缘顶点,只算一个。将与原始序列中最近放入的尾点处于同一条边缘边的另一边缘顶点,放入原始序列作为新的尾点,并重复此操作,直至多条边缘边的边缘顶点中不存在未放入原始序列的边缘顶点,从而可将最终的原始序列确定为边缘顶点序列。
[0108]
在一种可能的实施方式中,叶柄点的坐标的确定方法可为:响应于用户针对叶脉模型上的叶柄点的指定操作,对指定的叶柄点进行识别,得到叶柄点的坐标。
[0109]
在本实施方式中,叶柄点可通过用户直接指定得到,例如,用户可操作鼠标在叶脉模型中确定出一个点作为叶柄点,用户的指定操作完成后,即可响应于用户针对叶脉模型上的叶柄点的指定操作,对树叶模型上的指定的叶柄点进行识别,得到叶柄点的坐标。
[0110]
图4是根据一示例性实施例示出的一种确定叶脉特征点的方法的流程图,图5是根据一示例性实施例示出的一种叶脉模型的叶脉特征点的示意图,如图4和图5所示,在一种可能的实施方式中,针对边缘顶点序列中的任一边缘顶点,若与该边缘顶点前后相邻的多
个边缘顶点到叶柄点的距离均小于该边缘顶点到叶柄点的距离,确定该边缘顶点为叶脉特征点,可包括以下步骤:
[0111]
在步骤s401中,建立一个宽度为2k+1的滑动窗,k为大于0的整数。
[0112]
在本实施方式中,滑动窗的宽度表征滑动窗内可容纳的边缘顶点的个数,滑动窗的宽度为2k+1,则表征该滑动窗能够容纳的边缘顶点的个数为2k+1个。其中,k为正整数,即,k为大于0的整数。
[0113]
在步骤s402中,在边缘顶点序列上滑动滑动窗,每次滑动后的滑动窗内包括2k+1个边缘顶点,且,每次滑动后的滑动窗内包括的边缘顶点与上一次滑动后的滑动窗内的边缘顶点至少部分相同。
[0114]
在本实施方式中,可按照预设步长,沿着边缘顶点序列的排列顺序滑动该滑动窗口。例如,预设步长为1,即每次滑动一个边缘顶点的距离。每次滑动后,滑入多少个边缘顶点,便会滑出相同数量的边缘顶点,从而保证每次滑动后的滑动窗内包括2k+1个边缘顶点。且,每次滑动后的滑动窗内包括的边缘顶点与上一次滑动后的滑动窗内的边缘顶点至少部分相同,即,预设步长小于2k+1。
[0115]
在步骤s403中,针对滑动窗的每一位置,确定滑动窗内的每一个边缘顶点到叶柄点的距离。
[0116]
在本实施方式中,滑动窗的初始位置可包括边缘顶点序列的前2k+1个边缘顶点。可确定滑动窗内的每一个边缘顶点到叶柄点的距离,以便在滑动窗滑动的过程中,确定边缘顶点序列包含的所有边缘顶点到叶柄点的距离。
[0117]
在步骤s404中,将符合以下条件的边缘顶点确定为叶脉特征点:该边缘顶点到叶柄点的距离大于在该边缘顶点前的k个边缘顶点到叶柄点的距离,且大于在该边缘点后的k个边缘顶点到叶柄点的距离。
[0118]
在本实施方式中,针对滑动窗内的任意一个边缘顶点,均可通过判断条件:判断该边缘顶点到叶柄点的距离是否大于在该边缘顶点前的k个边缘顶点到叶柄点的距离,且大于在该边缘点后的k个边缘顶点到叶柄点的距离。若该边缘顶点到叶柄点的距离大于在该边缘顶点前的k个边缘顶点到叶柄点的距离,且大于在该边缘点后的k个边缘顶点到叶柄点的距离,可确定该边缘顶点为叶脉特征点。
[0119]
针对滑动窗的初始位置,该滑动窗内包含的前k个边缘顶点之前均不存在k个边缘顶点,则该滑动窗内包含的前k个边缘顶点均不满足上述判断条件,该滑动窗内包含的前k个边缘顶点也不存在叶脉特征点。在滑动窗滑动的过程中,对于边缘顶点序列中位于前k个边缘顶点之后的任一边缘顶点,均可通过上述判断条件,确定出叶脉特征点。图5中的v0为叶柄点,v1、v2、v3、v4、v5、v6和v7为叶脉特征点。
[0120]
图6是根据一示例性实施例示出的一种叶脉确定装置的框图。参照图6,该装置包括获取模块601、第一确定模块602、排序模块603、第二确定模块604和第三确定模块605。
[0121]
该获取模块601,被配置为获取构成树叶模型的多个三角面的顶点坐标;
[0122]
该第一确定模块602,被配置为根据所述多个三角面的顶点坐标,确定所述树叶模型的多条边缘边,每条所述边缘边为其中一个所述三角面中的一条独有边;
[0123]
该排序模块603,被配置为按照所述边缘边的连接顺序依次对所述多条边缘边的边缘顶点进行排序,得到边缘顶点序列;
[0124]
该第二确定模块604,被配置为针对所述边缘顶点序列中的任一边缘顶点,若与该边缘顶点前后相邻的多个边缘顶点到叶柄点的距离均小于该边缘顶点到所述叶柄点的距离,确定该边缘顶点为叶脉特征点;
[0125]
该第三确定模块605,被配置为将所述叶脉特征点到所述叶柄点之间的最短路径确定为所述树叶模型的叶脉。
[0126]
可选地,所述第一确定模块602,包括:
[0127]
第一确定子模块,被配置为针对构成任一三角面的任一三角边,若该三角边的两个顶点的顶点坐标不与其它任一三角面的任一三角边的两个顶点的顶点坐标相同,确定该三角面的该三角边为所述树叶模型的一条边缘边;
[0128]
获得子模块,被配置为遍历构成所述树叶模型所有三角面的所有三角边,得到所述树叶模型的多条边缘边。
[0129]
可选地,所述装置600还包括:
[0130]
第四确定模块,被配置为根据所述多个三角面的顶点坐标,确定构成每个三角面的三角边以及构成每条三角边的两个顶点的顶点坐标。
[0131]
可选地,所述排序模块603,包括:
[0132]
第一建立子模块,被配置为建立一个初始内容为空的原始序列;
[0133]
第二确定子模块,被配置为确定所述多条边缘边的边缘顶点中的第一序列点,所述第一序列点为所述多条边缘边的边缘顶点中与所述叶柄点的距离最小的边缘顶点;
[0134]
放入子模块,被配置为将所述第一序列点放入所述原始序列,作为所述原始序列的尾点;
[0135]
循环子模块,被配置为循环执行以下操作:将与所述原始序列中最近放入的尾点处于同一条边缘边的另一边缘顶点,放入所述原始序列作为新的尾点,直到所述多条边缘边的边缘顶点中不存在未放入所述原始序列的边缘顶点,得到所述边缘顶点序列。
[0136]
可选地,所述装置600还包括:
[0137]
获取子单元,被配置为获取所述叶柄点对应的坐标以及所述多条边缘边的每个边缘顶点所对应的顶点坐标;
[0138]
确定子单元,被配置为根据所述叶柄点对应的坐标以及所述多条边缘边的每个边缘顶点所对应的顶点坐标,确定每个边缘顶点与所述叶柄点之间的距离。
[0139]
可选地,所述装置600还包括:
[0140]
获得模块,被配置为响应于用户针对所述叶脉模型上的叶柄点的指定操作,对指定的所述叶柄点进行识别,得到所述叶柄点的坐标。
[0141]
可选地,所述第二确定模块604,包括:
[0142]
第二建立子模块,被配置为建立一个宽度为2k+1的滑动窗,k为大于0的整数;
[0143]
滑动子模块,被配置为在所述边缘顶点序列上滑动所述滑动窗,每次滑动后的滑动窗内包括2k+1个边缘顶点,且,每次滑动后的滑动窗内包括的边缘顶点与上一次滑动后的滑动窗内的边缘顶点至少部分相同;
[0144]
第三确定子模块,被配置为针对所述滑动窗的每一位置,确定所述滑动窗内的每一个边缘顶点到所述叶柄点的距离;
[0145]
第四确定子模块,被配置为将符合以下条件的边缘顶点确定为所述叶脉特征点:
该边缘顶点到所述叶柄点的距离大于在该边缘顶点前的k个边缘顶点到所述叶柄点的距离,且大于在该边缘点后的k个边缘顶点到所述叶柄点的距离。
[0146]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0147]
图7是根据一示例性实施例示出的一种电子设备的框图。例如,电子设备700可以被提供为一服务器。参照图7,电子设备700包括处理器722,其数量可以为一个或多个,以及存储器732,用于存储可由处理器722执行的计算机程序。存储器732中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器722可以被配置为执行该计算机程序,以执行上述的叶脉确定方法。
[0148]
另外,电子设备700还可以包括电源组件726和通信组件750,该电源组件726可以被配置为执行电子设备700的电源管理,该通信组件750可以被配置为实现电子设备700的通信,例如,有线或无线通信。此外,该电子设备700还可以包括输入/输出(i/o)接口758。电子设备700可以操作基于存储在存储器732的操作系统。
[0149]
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的叶脉确定方法的步骤。例如,该非临时性计算机可读存储介质可以为上述包括程序指令的存储器732,上述程序指令可由电子设备700的处理器722执行以完成上述的叶脉确定方法。
[0150]
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的叶脉确定方法的代码部分。
[0151]
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
[0152]
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
[0153]
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1