MCPcopy Create free account
hub / github.com/biometrics/openbr / project

Method project

openbr/plugins/classification/nt4.cpp:273–299  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

271
272private:
273 void project(const Template &src, Template &dst) const
274 {
275 HNGrayscaleImage grayscaleImage;
276 NT4Context::toImage(src, &grayscaleImage);
277
278 NT4Context *context = contexts.acquire();
279
280 NInt faceCount;
281 NleFace *faces;
282 NResult result = NleDetectFaces(context->extractor, grayscaleImage, &faceCount, &faces);
283 if (NFailed(result)) qFatal("NT4DetectFace::project NleDetectFaces() failed, result=%i.", result);
284 for (int i=0; i<faceCount; i++) {
285 NleDetectionDetails detectionDetails;
286 result = NleDetectFacialFeatures(context->extractor, grayscaleImage, &faces[i], &detectionDetails);
287 if (NFailed(result)) qFatal("NT4DetectFace::project NleDetectFacialFeatures() failed, result=%i.", result);
288
289 dst.file.append(NT4Context::toMetadata(detectionDetails));
290 dst += src;
291 //if (!Globals.EnrollAll) break;
292 }
293
294 contexts.release(context);
295 NObjectFree(grayscaleImage);
296
297 //if (!Globals.EnrollAll && dst.isEmpty()) dst = Mat();
298 if (dst.isEmpty()) dst = Mat();
299 }
300};
301
302BR_REGISTER(Transform, NT4DetectFace)

Callers

nothing calls this directly

Calls 4

acquireMethod · 0.80
isEmptyMethod · 0.80
appendMethod · 0.45
releaseMethod · 0.45

Tested by

no test coverage detected