Skip to content

Commit 2b69119

Browse files
committed
docs(plantuml): 更新图分割算法类图
1 parent ed323ee commit 2b69119

File tree

2 files changed

+50
-48
lines changed

2 files changed

+50
-48
lines changed

docs/imgs/graphseg.png

282 KB
Loading

docs/uml/graphseg.puml

Lines changed: 50 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,78 @@
11
@startuml
22
skinparam classAttributeIconSize 0
3-
scale 1.5
3+
scale 4096 width
44
title 图分割算法
55

66
' 泛化
7-
GraphSegmentation <|-- GraphSegmentationImpl
7+
segmentation.GraphSegmentation <|-- segmentation.GraphSegmentationImpl
88
' 依赖
9-
PointSet <.. GraphSegmentationImpl
10-
Edge <.. GraphSegmentationImpl
9+
segmentation.PointSet <.. segmentation.GraphSegmentationImpl
10+
segmentation.Edge <.. segmentation.GraphSegmentationImpl
1111
' 聚合
12-
PointSetElement o-- PointSet
12+
segmentation.PointSetElement o-- segmentation.PointSet
1313

14-
class GraphSegmentation {
14+
class segmentation.GraphSegmentation {
1515
' 方法
16-
+ processImage(cv::InputArray src, cv::OutputArray dst): void
17-
+setSigma(double sigma): void
18-
+ getSigma() double
19-
+ setK(float k) void
20-
+ getK() float
21-
+ setMinSize(int min_size): void
22-
+ getMinSize(): int
16+
+ virtual void processImage(cv::InputArray src, cv::OutputArray dst) = 0
17+
.. Setter ..
18+
+virtual void setSigma(double sigma) = 0
19+
+ virtual void setK(float k) = 0
20+
+ virtual void setMinSize(int min_size) = 0
21+
.. Getter ..
22+
+ virtual double getSigma() = 0
23+
+ virtual float getK() = 0
24+
+ virtual int getMinSize() = 0
2325
}
2426

25-
class GraphSegmentationImpl {
26-
' 属性
27-
- sigma: double
28-
- k: float
29-
- min_size: int
30-
- name_: string
31-
' 方法
27+
class segmentation.GraphSegmentationImpl {
28+
' __ 字段 __
29+
- double sigma
30+
- float k
31+
- int min_size
32+
- string name_
33+
____
34+
- void filter(const Mat &img, Mat &img_filtered)
35+
- void buildGraph(Edge **edges, int &nb_edges, const Mat &img_filtered)
36+
- void segmentGraph(Edge *edges, const int &nb_edges, const Mat &img_filtered, PointSet **es)
37+
- void filterSmallAreas(Edge *edges, const int &nb_edges, PointSet *es)
38+
- void finalMapping(PointSet *es, Mat &output)
39+
.. constructor ..
3240
+ GraphSegmentationImpl()
33-
34-
+ processImage(cv::InputArray src, cv::OutputArray dst): void
35-
+setSigma(double sigma): void
36-
+ getSigma() double
37-
+ setK(float k) void
38-
+ getK() float
39-
+ setMinSize(int min_size): void
40-
+ getMinSize(): int
41-
42-
- filter(const Mat &img, Mat &img_filtered): void
43-
- buildGraph(Edge **edges, int &nb_edges, const Mat &img_filtered): void
44-
- segmentGraph(Edge *edges, const int &nb_edges, const Mat &img_filtered, PointSet **es): void
45-
- filterSmallAreas(Edge *edges, const int &nb_edges, PointSet *es): void
46-
- finalMapping(PointSet *es, Mat &output): void
41+
.. override ..
42+
+ virtual void processImage(cv::InputArray src, cv::OutputArray dst) override
43+
+virtual void setSigma(double sigma) override
44+
+ virtual void setK(float k) override
45+
+ virtual void setMinSize(int min_size) override
46+
+ virtual double getSigma() override
47+
+ virtual float getK() override
48+
+ virtual int getMinSize() override
4749
}
4850

49-
class Edge {
51+
class segmentation.Edge {
5052
' 属性
51-
+ from: int
52-
+ to: int
53-
+ weight: float
53+
+ int from
54+
+ in to
55+
+ float weight
5456
' 方法
55-
+ operator<(const Edge &e): bool
57+
+ bool operator<(const Edge &e) const
5658
}
5759

58-
class PointSet {
60+
class segmentation.PointSet {
5961
' 属性
60-
+ nb_elements: int
62+
- PointSetElement *mapping
63+
+ int nb_elements
6164
' 方法
6265
+ PointSet(int nb_elements_)
6366
+ ~PointSet()
64-
65-
+ getBasePoint(int p): int
66-
+ joinPoints(int p_a, int p_b): int
67-
+ size(unsigned int p): int
67+
+ int getBasePoint(int p)
68+
+ void joinPoints(int p_a, int p_b)
69+
+ int size(unsigned int p)
6870
}
6971

70-
class PointSetElement {
72+
class segmentation.PointSetElement {
7173
' 属性
72-
+ p: int
73-
+ size: int
74+
+ int p
75+
+ int size
7476
' 方法
7577
+ PointSetElement()
7678
+ PointSetElement(int p_)

0 commit comments

Comments
 (0)