inference method
Implementation
Future<void> inference({
/* camera Controllerから渡される画像 */
required CameraImage cameraImage,
}) async {
try {
// CameraImageをImageに変換
final image = await _convertCameraImageSerivce.exec(cameraImage);
// 骨格推定処理を実行
final person =
await _poseEstimationService.then((value) => value.exec(image));
if (person == null) {
// FIXME: エラーハンドリング
throw Exception('Person is null');
}
// FIXME: 仮で閾値を設定
final threshold = ExerciseType.siseStep.threshold;
final evaluatePose =
await _evaluatePoseService.then((value) => value.exec(
person,
ReceivePort(),
threshold,
));
if (mounted) {
state = state.copyWith(
inferenceResult: InferenceResult(
cameraImage: cameraImage,
person: person,
evaluatePose: evaluatePose,
));
}
} catch (e) {
if (kDebugMode) {
print('runInference error: $e');
}
}
}