MCPcopy Create free account
hub / github.com/UZ-SLAMLab/ORB_SLAM3 / serializeVectorKeyPoints

Function serializeVectorKeyPoints

include/SerializationUtils.h:119–162  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

117
118template<class Archive>
119void serializeVectorKeyPoints(Archive& ar, const std::vector<cv::KeyPoint>& vKP, const unsigned int version)
120{
121 int NumEl;
122
123 if (Archive::is_saving::value) {
124 NumEl = vKP.size();
125 }
126
127 ar & NumEl;
128
129 std::vector<cv::KeyPoint> vKPaux = vKP;
130 if (Archive::is_loading::value)
131 vKPaux.reserve(NumEl);
132
133 for(int i=0; i < NumEl; ++i)
134 {
135 cv::KeyPoint KPi;
136
137 if (Archive::is_loading::value)
138 KPi = cv::KeyPoint();
139
140 if (Archive::is_saving::value)
141 KPi = vKPaux[i];
142
143 ar & KPi.angle;
144 ar & KPi.response;
145 ar & KPi.size;
146 ar & KPi.pt.x;
147 ar & KPi.pt.y;
148 ar & KPi.class_id;
149 ar & KPi.octave;
150
151 if (Archive::is_loading::value)
152 vKPaux.push_back(KPi);
153 }
154
155
156 if (Archive::is_loading::value)
157 {
158 std::vector<cv::KeyPoint> *ptr;
159 ptr = (std::vector<cv::KeyPoint>*)( &vKP );
160 *ptr = vKPaux;
161 }
162}
163
164} // namespace ORB_SLAM3
165

Callers

nothing calls this directly

Calls 1

sizeMethod · 0.45

Tested by

no test coverage detected