#include "mediapipe/framework/api2/stream/landmarks_projection.h" #include #include "mediapipe/framework/api2/builder.h" #include "mediapipe/framework/calculator_framework.h" #include "mediapipe/framework/formats/landmark.pb.h" #include "mediapipe/framework/port/gmock.h" #include "mediapipe/framework/port/gtest.h" #include "mediapipe/framework/port/parse_text_proto.h" #include "mediapipe/framework/port/status_matchers.h" namespace mediapipe::api2::builder { namespace { TEST(LandmarksProjection, ProjectLandmarks) { mediapipe::api2::builder::Graph graph; Stream landmarks = graph.In("NORM_LANDMARKS").Cast(); Stream> projection_matrix = graph.In("PROJECTION_MATRIX").Cast>(); Stream result = ProjectLandmarks(landmarks, projection_matrix, graph); result.SetName("landmarks_value"); EXPECT_THAT( graph.GetConfig(), EqualsProto(mediapipe::ParseTextProtoOrDie(R"pb( node { calculator: "LandmarkProjectionCalculator" input_stream: "NORM_LANDMARKS:__stream_0" input_stream: "PROJECTION_MATRIX:__stream_1" output_stream: "NORM_LANDMARKS:landmarks_value" } input_stream: "NORM_LANDMARKS:__stream_0" input_stream: "PROJECTION_MATRIX:__stream_1" )pb"))); CalculatorGraph calcualtor_graph; MP_EXPECT_OK(calcualtor_graph.Initialize(graph.GetConfig())); } } // namespace } // namespace mediapipe::api2::builder