hello_world example expanded with library option
This commit is contained in:
		
							parent
							
								
									4a20e9909d
								
							
						
					
					
						commit
						66171159ef
					
				| 
						 | 
					@ -205,7 +205,7 @@ new_local_repository(
 | 
				
			||||||
    # For local MacOS builds, the path should point to an opencv@3 installation.
 | 
					    # For local MacOS builds, the path should point to an opencv@3 installation.
 | 
				
			||||||
    # If you edit the path here, you will also need to update the corresponding
 | 
					    # If you edit the path here, you will also need to update the corresponding
 | 
				
			||||||
    # prefix in "opencv_macos.BUILD".
 | 
					    # prefix in "opencv_macos.BUILD".
 | 
				
			||||||
    path = "/usr/local",
 | 
					    path = "/opt/homebrew",
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
new_local_repository(
 | 
					new_local_repository(
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,9 +16,10 @@ licenses(["notice"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package(default_visibility = ["//mediapipe/examples:__subpackages__"])
 | 
					package(default_visibility = ["//mediapipe/examples:__subpackages__"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cc_binary(
 | 
					cc_library(
 | 
				
			||||||
    name = "hello_world",
 | 
					    name = "hello_world_library",
 | 
				
			||||||
    srcs = ["hello_world.cc"],
 | 
					    srcs = ["hello_world.cc"],
 | 
				
			||||||
 | 
					    hdrs = ["hello_world.hh"],
 | 
				
			||||||
    visibility = ["//visibility:public"],
 | 
					    visibility = ["//visibility:public"],
 | 
				
			||||||
    deps = [
 | 
					    deps = [
 | 
				
			||||||
        "//mediapipe/calculators/core:pass_through_calculator",
 | 
					        "//mediapipe/calculators/core:pass_through_calculator",
 | 
				
			||||||
| 
						 | 
					@ -28,3 +29,11 @@ cc_binary(
 | 
				
			||||||
        "//mediapipe/framework/port:status",
 | 
					        "//mediapipe/framework/port:status",
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cc_binary(
 | 
				
			||||||
 | 
					    name = "hello-world-binary",
 | 
				
			||||||
 | 
					    srcs = ["hello-world-main.cc"],
 | 
				
			||||||
 | 
					    deps = [
 | 
				
			||||||
 | 
					        ":hello_world_library",
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					#include "hello_world.hh"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int main(int argc, char **argv)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    theFunctionToCall(argv[0]);
 | 
				
			||||||
 | 
					    return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -14,17 +14,18 @@
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// A simple example to print out "Hello World!" from a MediaPipe graph.
 | 
					// A simple example to print out "Hello World!" from a MediaPipe graph.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "hello_world.hh"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "mediapipe/framework/calculator_graph.h"
 | 
					#include "mediapipe/framework/calculator_graph.h"
 | 
				
			||||||
#include "mediapipe/framework/port/logging.h"
 | 
					#include "mediapipe/framework/port/logging.h"
 | 
				
			||||||
#include "mediapipe/framework/port/parse_text_proto.h"
 | 
					#include "mediapipe/framework/port/parse_text_proto.h"
 | 
				
			||||||
#include "mediapipe/framework/port/status.h"
 | 
					#include "mediapipe/framework/port/status.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace mediapipe {
 | 
					absl::Status PrintHelloWorld()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
absl::Status PrintHelloWorld() {
 | 
					 | 
				
			||||||
  // Configures a simple graph, which concatenates 2 PassThroughCalculators.
 | 
					  // Configures a simple graph, which concatenates 2 PassThroughCalculators.
 | 
				
			||||||
  CalculatorGraphConfig config =
 | 
					  mediapipe::CalculatorGraphConfig config =
 | 
				
			||||||
      ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
 | 
					      mediapipe::ParseTextProtoOrDie<mediapipe::CalculatorGraphConfig>(R"pb(
 | 
				
			||||||
        input_stream: "in"
 | 
					        input_stream: "in"
 | 
				
			||||||
        output_stream: "out"
 | 
					        output_stream: "out"
 | 
				
			||||||
        node {
 | 
					        node {
 | 
				
			||||||
| 
						 | 
					@ -39,29 +40,32 @@ absl::Status PrintHelloWorld() {
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      )pb");
 | 
					      )pb");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  CalculatorGraph graph;
 | 
					  mediapipe::CalculatorGraph graph;
 | 
				
			||||||
  MP_RETURN_IF_ERROR(graph.Initialize(config));
 | 
					  MP_RETURN_IF_ERROR(graph.Initialize(config));
 | 
				
			||||||
  ASSIGN_OR_RETURN(OutputStreamPoller poller,
 | 
					  ASSIGN_OR_RETURN(mediapipe::OutputStreamPoller poller,
 | 
				
			||||||
                   graph.AddOutputStreamPoller("out"));
 | 
					                   graph.AddOutputStreamPoller("out"));
 | 
				
			||||||
  MP_RETURN_IF_ERROR(graph.StartRun({}));
 | 
					  MP_RETURN_IF_ERROR(graph.StartRun({}));
 | 
				
			||||||
  // Give 10 input packets that contains the same string "Hello World!".
 | 
					  // Give 10 input packets that contains the same string "Hello World!".
 | 
				
			||||||
  for (int i = 0; i < 10; ++i) {
 | 
					  for (int i = 0; i < 10; ++i)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
    MP_RETURN_IF_ERROR(graph.AddPacketToInputStream(
 | 
					    MP_RETURN_IF_ERROR(graph.AddPacketToInputStream(
 | 
				
			||||||
        "in", MakePacket<std::string>("Hello World!").At(Timestamp(i))));
 | 
					        "in", mediapipe::MakePacket<std::string>("Hello World!").At(mediapipe::Timestamp(i))));
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  // Close the input stream "in".
 | 
					  // Close the input stream "in".
 | 
				
			||||||
  MP_RETURN_IF_ERROR(graph.CloseInputStream("in"));
 | 
					  MP_RETURN_IF_ERROR(graph.CloseInputStream("in"));
 | 
				
			||||||
  mediapipe::Packet packet;
 | 
					  mediapipe::Packet packet;
 | 
				
			||||||
  // Get the output packets string.
 | 
					  // Get the output packets string.
 | 
				
			||||||
  while (poller.Next(&packet)) {
 | 
					  while (poller.Next(&packet))
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
    LOG(INFO) << packet.Get<std::string>();
 | 
					    LOG(INFO) << packet.Get<std::string>();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  return graph.WaitUntilDone();
 | 
					  return graph.WaitUntilDone();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
}  // namespace mediapipe
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
int main(int argc, char** argv) {
 | 
					void theFunctionToCall(const char* argv0)
 | 
				
			||||||
  google::InitGoogleLogging(argv[0]);
 | 
					{
 | 
				
			||||||
  CHECK(mediapipe::PrintHelloWorld().ok());
 | 
					  google::InitGoogleLogging(argv0);
 | 
				
			||||||
  return 0;
 | 
					  CHECK(PrintHelloWorld().ok());
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										3
									
								
								mediapipe/examples/desktop/hello_world/hello_world.hh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								mediapipe/examples/desktop/hello_world/hello_world.hh
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,3 @@
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void theFunctionToCall(const char* argv0);
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user