public void Execute() { // KMR モジュールで全ファイル分のList<Keypoint>(平滑化済み)を取ってくる(今はまだ1フレーム分) var opr = new OpenPoseReader(@"C:\tmp\"); _keypointsCollection.Add(1, opr.ReadOneFile("Sample_000000000213_keypoints.json")); // foreachで1つずつSZKモジュールで処理 var dolls = new Dictionary <int, Doll>(); foreach (var keypoints in _keypointsCollection) { var estimator = new PoseEstimator(); dolls.Add(keypoints.Key, estimator.EstimateSingleFrame(1920, 1080, keypoints.Value)); } var vmd = new Vmd("Sample", dolls); var vw = new VmdWriter(@"C:\tmp\Sample_000000000213_keypoints.vmd"); vw.Write(vmd); // ※必要な入力引数 // OpenPoseディレクトリ(平面座標取得から一貫して行うなら) // OpenPose出力先ディレクトリ // Vmd出力ファイルパス }
static void Main(string[] args) { #if DEBUG string dir = @"C:\tmp\"; #else #endif var opr = new OpenPoseReader(dir); var keypoints = opr.ReadOneFile("Sample_000000000132_keypoints.json"); Console.WriteLine($"Keypoints:"); int count = 0; foreach (var kp in keypoints) { Console.WriteLine($"Point {count++, 10}: ({kp.X}, {kp.Y}, {kp.Reliability})"); } Console.ReadKey(true); }