@@ -3,115 +3,119 @@ skinparam classAttributeIconSize 0
3
3
scale 4096 width
4
4
title 选择性搜索算法 - 相似度计算
5
5
6
- SelectiveSearchSegmentationStrategy <.. SelectiveSearchSegmentation
6
+ segmentation . SelectiveSearchSegmentationStrategy <.. segmentation . SelectiveSearchSegmentation
7
7
8
- SelectiveSearchSegmentationStrategyColor <.. SelectiveSearchSegmentationImpl
8
+ segmentation . SelectiveSearchSegmentationStrategyColor <.. segmentation . SelectiveSearchSegmentationImpl
9
9
10
- SelectiveSearchSegmentationStrategyTexture <.. SelectiveSearchSegmentationImpl
10
+ segmentation . SelectiveSearchSegmentationStrategyTexture <.. segmentation . SelectiveSearchSegmentationImpl
11
11
12
- SelectiveSearchSegmentationStrategyFill <.. SelectiveSearchSegmentationImpl
12
+ segmentation . SelectiveSearchSegmentationStrategyFill <.. segmentation . SelectiveSearchSegmentationImpl
13
13
14
- SelectiveSearchSegmentationStrategySize <.. SelectiveSearchSegmentationImpl
14
+ segmentation . SelectiveSearchSegmentationStrategySize <.. segmentation . SelectiveSearchSegmentationImpl
15
15
16
- SelectiveSearchSegmentationStrategyMultiple <.. SelectiveSearchSegmentationImpl
16
+ segmentation . SelectiveSearchSegmentationStrategyMultiple <.. segmentation . SelectiveSearchSegmentationImpl
17
17
18
18
' 分割策略
19
19
20
- SelectiveSearchSegmentationStrategy <|-- SelectiveSearchSegmentationStrategyColor
20
+ segmentation . SelectiveSearchSegmentationStrategy <|-- segmentation . SelectiveSearchSegmentationStrategyColor
21
21
22
- SelectiveSearchSegmentationStrategy <|-- SelectiveSearchSegmentationStrategyFill
22
+ segmentation . SelectiveSearchSegmentationStrategy <|-- segmentation . SelectiveSearchSegmentationStrategyTexture
23
23
24
- SelectiveSearchSegmentationStrategy <|-- SelectiveSearchSegmentationStrategySize
24
+ segmentation . SelectiveSearchSegmentationStrategy <|-- segmentation . SelectiveSearchSegmentationStrategyFill
25
25
26
- SelectiveSearchSegmentationStrategy <|-- SelectiveSearchSegmentationStrategyTexture
26
+ segmentation . SelectiveSearchSegmentationStrategy <|-- segmentation . SelectiveSearchSegmentationStrategySize
27
27
28
- SelectiveSearchSegmentationStrategy <|-- SelectiveSearchSegmentationStrategyMultiple
28
+ segmentation . SelectiveSearchSegmentationStrategy <|-- segmentation . SelectiveSearchSegmentationStrategyMultiple
29
29
30
- SelectiveSearchSegmentationStrategyColor <|-- SelectiveSearchSegmentationStrategyColorImpl
30
+ segmentation . SelectiveSearchSegmentationStrategyColor <|-- segmentation . SelectiveSearchSegmentationStrategyColorImpl
31
31
32
- SelectiveSearchSegmentationStrategyTexture <|-- SelectiveSearchSegmentationStrategyTextureImpl
32
+ segmentation . SelectiveSearchSegmentationStrategyTexture <|-- segmentation . SelectiveSearchSegmentationStrategyTextureImpl
33
33
34
- SelectiveSearchSegmentationStrategyFill <|-- SelectiveSearchSegmentationStrategyFillImpl
34
+ segmentation . SelectiveSearchSegmentationStrategyFill <|-- segmentation . SelectiveSearchSegmentationStrategyFillImpl
35
35
36
- SelectiveSearchSegmentationStrategySize <|-- SelectiveSearchSegmentationStrategySizeImpl
36
+ segmentation . SelectiveSearchSegmentationStrategySize <|-- segmentation . SelectiveSearchSegmentationStrategySizeImpl
37
37
38
- SelectiveSearchSegmentationStrategyMultiple <|-- SelectiveSearchSegmentationStrategyMultipleImpl
38
+ segmentation . SelectiveSearchSegmentationStrategyMultiple <|-- segmentation . SelectiveSearchSegmentationStrategyMultipleImpl
39
39
40
- class SelectiveSearchSegmentationStrategy {
41
- + setImage(cv::InputArray img, cv::InputArray regions, cv::InputArray sizes, int image_id = -1): void
42
- + get(int r1, int r2): float
43
- + merge(int r1, int r2): void
40
+ class segmentation. SelectiveSearchSegmentationStrategy {
41
+ + virtual void setImage(cv::InputArray img, cv::InputArray regions, cv::InputArray sizes, int image_id = -1) = 0
42
+ + virtual float get(int r1, int r2) = 0
43
+ + virtual void merge(int r1, int r2) = 0
44
44
}
45
45
46
- class SelectiveSearchSegmentationStrategyColorImpl {
47
- - name_: std::string
48
- - histograms: cv::Mat
49
- - sizes: cv::Mat
50
- - histogram_size : int
51
- - last_image_id : int
52
- - last_histograms: cv::Mat
53
-
46
+ class segmentation. SelectiveSearchSegmentationStrategyColorImpl {
47
+ - std::string name_
48
+ - cv::Mat histograms
49
+ - cv::Mat sizes
50
+ - int histogram_size
51
+ - int last_image_id
52
+ - cv::Mat last_histograms
53
+ __
54
54
+ SelectiveSearchSegmentationStrategyColorImpl ()
55
- + setImage(cv::InputArray img, cv::InputArray regions, cv::InputArray sizes, int image_id = -1): void
56
- + get(int r1, int r2): float
57
- + merge(int r1, int r2): void
55
+ .. override ..
56
+ + virtual void setImage(cv::InputArray img, cv::InputArray regions, cv::InputArray sizes, int image_id = -1) override
57
+ + virtual float get(int r1, int r2) override
58
+ + virtual void merge(int r1, int r2) override
58
59
}
59
60
60
-
61
- class SelectiveSearchSegmentationStrategyTextureImpl {
62
- - name_: std::string
63
- - histograms: cv::Mat
64
- - sizes: cv::Mat
65
- - histogram_size : int
66
- - last_image_id : int
67
- - last_histograms: cv::Mat
68
-
61
+ class segmentation.SelectiveSearchSegmentationStrategyTextureImpl {
62
+ - std::string name_
63
+ - cv::Mat histograms
64
+ - cv::Mat sizes
65
+ - int histogram_size
66
+ - int last_image_id
67
+ - cv::Mat last_histograms
68
+ __
69
69
+ SelectiveSearchSegmentationStrategyTextureImpl ()
70
- + setImage(cv::InputArray img, cv::InputArray regions, cv::InputArray sizes, int image_id = -1): void
71
- + get(int r1, int r2): float
72
- + merge(int r1, int r2): void
70
+ .. override ..
71
+ + virtual void setImage(cv::InputArray img, cv::InputArray regions, cv::InputArray sizes, int image_id = -1) override
72
+ + virtual float get(int r1, int r2) override
73
+ + virtual void merge(int r1, int r2) override
73
74
}
74
75
75
- class SelectiveSearchSegmentationStrategyFillImpl {
76
- - name_: std::string
77
- - sizes: cv::Mat
78
- - size_image : int
79
- - bounding_rects: std::vector<cv::Rect>
80
-
76
+ class segmentation. SelectiveSearchSegmentationStrategyFillImpl {
77
+ - std::string name_
78
+ - cv::Mat sizes
79
+ - int size_image
80
+ - std::vector<cv::Rect> bounding_rects
81
+ __
81
82
+ SelectiveSearchSegmentationStrategyFillImpl ()
82
- + setImage(cv::InputArray img, cv::InputArray regions, cv::InputArray sizes, int image_id = -1): void
83
- + get(int r1, int r2): float
84
- + merge(int r1, int r2): void
83
+ .. override ..
84
+ + virtual void setImage(cv::InputArray img, cv::InputArray regions, cv::InputArray sizes, int image_id = -1) override
85
+ + virtual float get(int r1, int r2) override
86
+ + virtual void merge(int r1, int r2) override
85
87
}
86
88
87
- class SelectiveSearchSegmentationStrategySizeImpl {
88
- - name_: std::string
89
- - sizes: cv::Mat
90
- - size_image : int
91
-
89
+ class segmentation. SelectiveSearchSegmentationStrategySizeImpl {
90
+ - std::string name_
91
+ - cv::Mat sizes
92
+ - int size_image
93
+ __
92
94
+ SelectiveSearchSegmentationStrategySizeImpl ()
93
- + setImage(cv::InputArray img, cv::InputArray regions, cv::InputArray sizes, int image_id = -1): void
94
- + get(int r1, int r2): float
95
- + merge(int r1, int r2): void
95
+ .. override ..
96
+ + virtual void setImage(cv::InputArray img, cv::InputArray regions, cv::InputArray sizes, int image_id = -1) override
97
+ + virtual float get(int r1, int r2) override
98
+ + virtual void merge(int r1, int r2) override
96
99
}
97
100
98
- class SelectiveSearchSegmentationStrategyMultiple {
99
- + addStrategy(std::shared_ptr<SelectiveSearchSegmentationStrategy> g, float weight): void
100
- + clearStrategies (): void
101
+ class segmentation. SelectiveSearchSegmentationStrategyMultiple {
102
+ + virtual void addStrategy(std::shared_ptr<SelectiveSearchSegmentationStrategy> g, float weight) = 0
103
+ + virtual void clearStrategies() = 0
101
104
}
102
105
103
- class SelectiveSearchSegmentationStrategyMultipleImpl {
104
- - name_: std::string
105
- - strategies: std::vector<std::shared_ptr<SelectiveSearchSegmentationStrategy> >
106
- - weights: std::vector<float>
107
- - weights_total : float
108
-
106
+ class segmentation. SelectiveSearchSegmentationStrategyMultipleImpl {
107
+ - std::string name_
108
+ - std::vector<std::shared_ptr<SelectiveSearchSegmentationStrategy> > strategies
109
+ - std::vector<float> weights
110
+ - float weights_total
111
+ __
109
112
+ SelectiveSearchSegmentationStrategyMultipleImpl ()
110
- + setImage(cv::InputArray img, cv::InputArray regions, cv::InputArray sizes, int image_id = -1): void
111
- + get(int r1, int r2): float
112
- + merge(int r1, int r2): void
113
- + addStrategy(std::shared_ptr<SelectiveSearchSegmentationStrategy> g, float weight): void
114
- + clearStrategies (): void
113
+ .. override ..
114
+ + virtual void setImage(cv::InputArray img, cv::InputArray regions, cv::InputArray sizes, int image_id = -1) override
115
+ + virtual float get(int r1, int r2) override
116
+ + virtual void merge(int r1, int r2) override
117
+ + virtual void addStrategy(std::shared_ptr<SelectiveSearchSegmentationStrategy> g, float weight) override
118
+ + virtual void clearStrategies() override
115
119
}
116
120
117
121
@enduml
0 commit comments