leon 1 місяць тому
батько
коміт
c05c2e41db
2 змінених файлів з 49 додано та 26 видалено
  1. 47 24
      src/main.cpp
  2. 2 2
      src/nodes/infer/inferNode.cpp

+ 47 - 24
src/main.cpp

@@ -5,43 +5,66 @@
 #include "nodes/httpPush/httpPush.hpp"
 
 
-int main()
+void test_depth()
 {
-    std::vector<std::string> names = { "person", "clothes", "vest" };
-
     std::shared_ptr<Node::StreamNode> src_node0   = std::make_shared<Node::StreamNode>("src0", "rtsp://admin:lww123456@172.16.22.16:554/Streaming/Channels/101", 0, Node::DecodeType::GPU);
     src_node0->set_skip_frame(10);
 
-    std::shared_ptr<Node::StreamNode> src_node1   = std::make_shared<Node::StreamNode>("src1", "rtsp://admin:lww123456@172.16.22.16:554/Streaming/Channels/201", 0, Node::DecodeType::GPU);
-    src_node1->set_skip_frame(10);
-
-    std::shared_ptr<Node::StreamNode> src_node2   = std::make_shared<Node::StreamNode>("src2", "rtsp://admin:lww123456@172.16.22.16:554/Streaming/Channels/301", 0, Node::DecodeType::GPU);
-    src_node2->set_skip_frame(10);
-
-    std::shared_ptr<Infer> model = load("model/yolo11s.engine", ModelType::YOLO11, names, 0, 0.25, 0.45);
-    std::shared_ptr<Node::InferNode> infer_node1   = std::make_shared<Node::InferNode>("YOLO11");
-    infer_node1->set_model_instance(model, ModelType::YOLO11);
-
     std::shared_ptr<Infer> depth_model = load("model/depth.engine", ModelType::DEPTH_ANYTHING, {}, 0, 0.25, 0.45);
-    std::shared_ptr<Node::InferNode> infer_node2   = std::make_shared<Node::InferNode>("DEPTH_ANYTHING");
-    infer_node2->set_model_instance(depth_model, ModelType::DEPTH_ANYTHING);
+    std::shared_ptr<Node::InferNode> infer_node   = std::make_shared<Node::InferNode>("DEPTH_ANYTHING");
+    infer_node->set_model_instance(depth_model, ModelType::DEPTH_ANYTHING);
 
     std::shared_ptr<Node::DrawNode> draw_node     = std::make_shared<Node::DrawNode>("draw");
     std::shared_ptr<Node::HttpPushNode> push_node = std::make_shared<Node::HttpPushNode>("push", "172.16.20.168", 8080, "/push");
-    Node::LinkNode(src_node0, infer_node1);
-    Node::LinkNode(src_node1, infer_node1);
-    Node::LinkNode(src_node2, infer_node1);
-    Node::LinkNode(infer_node1, infer_node2);
-    Node::LinkNode(infer_node2, draw_node);
+    
+    Node::LinkNode(src_node0, infer_node);
+    Node::LinkNode(infer_node, draw_node);
     Node::LinkNode(draw_node, push_node);
     push_node->start();
     draw_node->start();
-    infer_node1->start();
-    infer_node2->start();
+    infer_node->start();
     src_node0->start();
-    src_node1->start();
-    src_node2->start();
     getchar();
+}
+
+int main()
+{
+    test_depth();
+    // std::vector<std::string> names = { "person", "clothes", "vest" };
+
+    // std::shared_ptr<Node::StreamNode> src_node0   = std::make_shared<Node::StreamNode>("src0", "rtsp://admin:lww123456@172.16.22.16:554/Streaming/Channels/101", 0, Node::DecodeType::GPU);
+    // src_node0->set_skip_frame(10);
+
+    // std::shared_ptr<Node::StreamNode> src_node1   = std::make_shared<Node::StreamNode>("src1", "rtsp://admin:lww123456@172.16.22.16:554/Streaming/Channels/201", 0, Node::DecodeType::GPU);
+    // src_node1->set_skip_frame(10);
+
+    // std::shared_ptr<Node::StreamNode> src_node2   = std::make_shared<Node::StreamNode>("src2", "rtsp://admin:lww123456@172.16.22.16:554/Streaming/Channels/301", 0, Node::DecodeType::GPU);
+    // src_node2->set_skip_frame(10);
+
+    // std::shared_ptr<Infer> model = load("model/yolo11s.engine", ModelType::YOLO11, names, 0, 0.25, 0.45);
+    // std::shared_ptr<Node::InferNode> infer_node1   = std::make_shared<Node::InferNode>("YOLO11");
+    // infer_node1->set_model_instance(model, ModelType::YOLO11);
+
+    // std::shared_ptr<Infer> depth_model = load("model/depth.engine", ModelType::DEPTH_ANYTHING, {}, 0, 0.25, 0.45);
+    // std::shared_ptr<Node::InferNode> infer_node2   = std::make_shared<Node::InferNode>("DEPTH_ANYTHING");
+    // infer_node2->set_model_instance(depth_model, ModelType::DEPTH_ANYTHING);
+
+    // std::shared_ptr<Node::DrawNode> draw_node     = std::make_shared<Node::DrawNode>("draw");
+    // std::shared_ptr<Node::HttpPushNode> push_node = std::make_shared<Node::HttpPushNode>("push", "172.16.20.168", 8080, "/push");
+    // Node::LinkNode(src_node0, infer_node1);
+    // Node::LinkNode(src_node1, infer_node1);
+    // Node::LinkNode(src_node2, infer_node1);
+    // Node::LinkNode(infer_node1, infer_node2);
+    // Node::LinkNode(infer_node2, draw_node);
+    // Node::LinkNode(draw_node, push_node);
+    // push_node->start();
+    // draw_node->start();
+    // infer_node1->start();
+    // infer_node2->start();
+    // src_node0->start();
+    // src_node1->start();
+    // src_node2->start();
+    // getchar();
     return 0;
 }
 

+ 2 - 2
src/nodes/infer/inferNode.cpp

@@ -20,7 +20,7 @@ void InferNode::work()
                 continue;
             }
             has_data = true;
-            // printf("Node %s get data from %s\n", name_.c_str(), input_buffer.first.c_str());
+            printf("Node %s get data from %s\n", name_.c_str(), input_buffer.first.c_str());
             cv::Mat image = metaData->image;
             int width = image.cols;
             int height = image.rows;
@@ -31,7 +31,6 @@ void InferNode::work()
                 printf("model is nullptr\n");
                 continue;
             }
-            printf("model type: %d\n", static_cast<int>(model_type_));
             auto det_result = model_->forward(tensor::cvimg(image));
 
             if (std::holds_alternative<data::BoxArray>(det_result)) 
@@ -46,6 +45,7 @@ void InferNode::work()
             } 
             else if(std::holds_alternative<cv::Mat>(det_result))
             {
+                print
                 auto depth_mat = std::get<cv::Mat>(det_result);
                 metaData->depth = depth_mat;
             }