From d3b7bbe7102cd089680a828f5d8f6402c8cf6342 Mon Sep 17 00:00:00 2001
From: pansen <pansen626@sina.com>
Date: 星期四, 07 三月 2019 14:43:28 +0800
Subject: [PATCH] GB28181集成完成,集成推流模块

---
 QiaoJiaSystem/YoloServer/YoloDetectClientTest.cpp |   58 +++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 49 insertions(+), 9 deletions(-)

diff --git a/QiaoJiaSystem/YoloServer/YoloDetectClientTest.cpp b/QiaoJiaSystem/YoloServer/YoloDetectClientTest.cpp
index 6a8fbbb..bb406ce 100644
--- a/QiaoJiaSystem/YoloServer/YoloDetectClientTest.cpp
+++ b/QiaoJiaSystem/YoloServer/YoloDetectClientTest.cpp
@@ -11,10 +11,11 @@
 #include "ImageDrawElement.h"
 #include "YoloRpcElement.h"
 #include <basic/util/app/AppPreference.hpp>
+#include <basic/util/opencv/CvUtil.h>
 
 class Controllor : public PipeController {
 public:
-    Controllor(const int index, const std::string &rtsp) : m_videoCaptureElement(rtsp, 25, 1000, 0),
+    Controllor(const int index, const std::string &rtsp) : m_videoCaptureElement(rtsp, 25, -1, 0),
                                                            m_YoloRpcElement(std::to_string(index) + "YoloRpc") {
         m_index = index;
         m_rtsp = rtsp;
@@ -36,7 +37,7 @@
         });
 
         m_imageDrawElement.registerConnector([&] {
-//            ImageShowElement::showImage(std::to_string(m_index), *m_imageDrawElement.getImage());
+            ImageShowElement::showImage(std::to_string(m_index), *m_imageDrawElement.getImage());
 
         });
         m_videoCaptureElement.setOutPutInterval(3);
@@ -55,24 +56,63 @@
     int m_index;
 };
 
+void darwProperty(cv::Mat &image, string key, string value, int x, int y) {
+    cv::putText(image, key + ": " + value, cv::Point(x, y), cv::HersheyFonts::FONT_HERSHEY_PLAIN, 1.5,
+                cv::Scalar(255, 255, 0), 2);
+}
+
 //using namespace std;
 int main(int argc, char *argv[]) {
     SAVE_APP_ARGS
 
-    int num = atoi(argv[1]);
-    std::string path(argv[2]);
-    int portNum = atoi(argv[3]);
+//    int num = atoi(argv[1]);
+//    std::string path(argv[2]);
+//    int portNum = atoi(argv[3]);
     //yolo server
     appPref.setStringData("yolo.proxy", "yoloServer");
     //#todo
     appPref.setStringData("yolo.ip", "");
-    appPref.setIntData("yolo.port", portNum);
+    appPref.setIntData("yolo.port", 10003);
 //    rpcClient(appPref.getStringData("yolo.proxy"), appPref.getStringData("yolo.ip"), appPref.getLongData("yolo.port"),"tcp"),
 
-    for (int i = 0; i < num; i++) {
-        Controllor *_Controllor = new Controllor(i, path);
-        _Controllor->start();
+    Controllor *_Controllor = new Controllor(1, "/home/bsk/210235C23NF187000045$2019-02-28-23-07-30_209850_210049.mp4");
+    _Controllor->start();
+
+    getchar();
+
+
+
+
+    YoloRpcElement m_YoloRpcElement("YoloRpc");
+    ImageDrawElement m_imageDrawElement;
+    m_YoloRpcElement.start();
+    m_imageDrawElement.start();
+    auto img = cv::imread("/home/bsk/Desktop/wubao2.jpg");
+    m_YoloRpcElement.setImage(img);
+    m_YoloRpcElement.submit();
+    m_YoloRpcElement.registerConnector([&] {
+    });
+
+    sleep(2);
+
+    auto res = m_YoloRpcElement.getLastScoreRects();
+
+    for (auto yoloObj: res) {
+        auto rect = CvUtil::zoomRect(yoloObj.rect, 1, 1);
+        //[{"x":1.5999756,"y":82.533325},{"x":1.5999756,"y":180.53333},{"x":61.599976,"y":175.53333},{"x":63.599976,"y":66.533325}]
+        //cv::rectangle(image, cv::Rect(4,328,252,480 ), cv::Scalar(0, 0, 255), 2);
+        cv::rectangle(img, rect, yoloObj.id >= 0 ? cv::Scalar(255, 0, 0) : cv::Scalar(0, 255, 255), 2);
+        int i = 0;
+        for (auto &property:yoloObj.properties) {
+            darwProperty(img, property.first, property.second, rect.x + rect.width, rect.y + 40 * i++);
+        }
     }
+    cv::imwrite("img/test2.jpg", img);
+    cv::imshow("test", img);
+//    for (int i = 0; i < num; i++) {
+//        Controllor *_Controllor = new Controllor(i, path);
+//        _Controllor->start();
+//    }
 
 //    Controllor _Controllor(0, "/home/bsk/2.mp4");
 //    _Controllor.start();

--
Gitblit v1.8.0