From 99221e4721a1246883465c2b52fbff14eb9aaa7a Mon Sep 17 00:00:00 2001
From: pans <pansen626@sina.com>
Date: 星期六, 30 三月 2019 12:12:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/yangwu1.3' into yangwu1.3
---
QiaoJiaSystem/YoloServer/YoloDetectClientTest.cpp | 56 +++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 47 insertions(+), 9 deletions(-)
diff --git a/QiaoJiaSystem/YoloServer/YoloDetectClientTest.cpp b/QiaoJiaSystem/YoloServer/YoloDetectClientTest.cpp
index 6a8fbbb..db69b5f 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,61 @@
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/basic/geth264.h264");
+ _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