convertKeypoints static method

({List<double> confidences, List<Point> keypoints}) convertKeypoints(
  1. List keypointsData
)

Unpacks a flat [x0, y0, c0, x1, y1, c1, ...] keypoint list into parallel lists of points and confidences.

Implementation

static ({List<Point> keypoints, List<double> confidences}) convertKeypoints(
  List<dynamic> keypointsData,
) {
  final count = keypointsData.length ~/ 3;
  final keypoints = <Point>[];
  final confidences = <double>[];
  for (var i = 0; i < count; i++) {
    final base = i * 3;
    final x = keypointsData[base];
    final y = keypointsData[base + 1];
    final c = keypointsData[base + 2];
    keypoints.add(
      Point(x is num ? x.toDouble() : 0.0, y is num ? y.toDouble() : 0.0),
    );
    confidences.add(c is num ? c.toDouble() : 0.0);
  }
  return (keypoints: keypoints, confidences: confidences);
}