From 74f8c4a581f62cb06a07c57cffe5841d4a528359 Mon Sep 17 00:00:00 2001
From: pansen <pansen626@sina.com>
Date: 星期五, 01 三月 2019 15:52:21 +0800
Subject: [PATCH] 添加注释,以及修改yolo对比阈值
---
QiaoJiaSystem/YoloServer/main.cpp | 4
QiaoJiaSystem/LocalDBTool/SqliteFaceEncap.h | 76 ++++++++++++++++++
QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp | 52 ++++++++++++-
QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp | 59 ++++++--------
4 files changed, 150 insertions(+), 41 deletions(-)
diff --git a/QiaoJiaSystem/LocalDBTool/SqliteFaceEncap.h b/QiaoJiaSystem/LocalDBTool/SqliteFaceEncap.h
index 7928ddf..85d834e 100644
--- a/QiaoJiaSystem/LocalDBTool/SqliteFaceEncap.h
+++ b/QiaoJiaSystem/LocalDBTool/SqliteFaceEncap.h
@@ -12,15 +12,35 @@
/**
* #todo sqlite -> Qt.sqlite
*/
-
+/***
+ * sqlite3 鎿嶄綔宸ュ叿绫�
+ */
class SqliteFaceEncap : public sqliteEncapsulation {
public:
explicit SqliteFaceEncap(std::string t_string);
+ /***
+ * 鍒涘缓甯冩帶搴曞簱
+ * 涓嶉�氱敤锛屽洜涓哄唴閮ㄦ湁涓�涓猧nsert鍑芥暟璋冪敤
+ * @param t_tableName
+ * @param fieldValues
+ * @return
+ */
bool createTable(std::string t_tableName, FieldValues &fieldValues);
+ /***
+ * 閫氱敤鐨勫崟琛ㄦ洿鏂�
+ * @param t_tableName
+ * @param fieldValues
+ * @return
+ */
bool updateTable(std::string t_tableName, FieldValues &fieldValues);
+ /***
+ * 鍒犻櫎琛�
+ * @param t_tableName
+ * @return
+ */
bool deleteTable(std::string t_tableName);
/***
@@ -30,26 +50,80 @@
*/
std::vector<std::string> getTableNameList(std::string type);
+ /***
+ * 鑾峰彇鎵�鏈夊凡鍒涘缓鐨勮〃淇℃伅
+ * @return
+ */
TableInfos getTableInfos();
public:
+ /***
+ * 娣诲姞浜鸿劯
+ * @param t_tableName 琛ㄥ悕
+ * @param faceData 浜鸿劯鐗瑰緛缁撴瀯浣�
+ * @param fieldValues 瀛楁闆嗗悎
+ * @return
+ */
std::string addFace(std::string t_tableName, AddFaceData &faceData, FieldValues &fieldValues);
+ /***
+ * 鏇存柊浜鸿劯
+ * @param t_tableName 琛ㄥ悕
+ * @param faceData 浜鸿劯鐗瑰緛缁撴瀯浣�
+ * @param fieldValues 瀛楁闆嗗悎
+ * @return
+ */
bool updateFace(std::string t_tableName, AddFaceData &faceData, FieldValues &fieldValues);
+ /***
+ * 鍚戜汉鑴哥壒寰佽〃鎻掑叆璁板綍
+ * @param t_tableName
+ * @param faceData
+ * @return
+ */
std::string addFaceData(std::string t_tableName, AddFaceData &faceData);
//#todo
+ /***
+ * 娣诲姞浜鸿劯涓氬姟淇℃伅
+ * @param t_tableName
+ * @param fieldValues
+ * @return
+ */
bool addFaceInfo(std::string t_tableName, FieldValues &fieldValues);
+ /***
+ *
+ * @param t_tableName
+ * @param faceData
+ * @return
+ */
bool updateFaceData(std::string t_tableName, AddFaceData &faceData);
+ /***
+ *
+ * @param t_tableName
+ * @param fieldValues
+ * @return
+ */
bool updateFaceInfo(std::string t_tableName, FieldValues &fieldValues);
+ /***
+ *
+ * @param t_tableName
+ * @param uuid
+ * @return
+ */
bool deleteFace(std::string t_tableName, std::string uuid);
private:
+ /***
+ *
+ * @param t_tableName
+ * @param uuid
+ * @return
+ */
bool deleteFaceData(std::string t_tableName, std::string uuid);
public:
diff --git a/QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp b/QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp
index 7495c9d..ff1bb42 100644
--- a/QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp
+++ b/QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp
@@ -1,6 +1,10 @@
//
// Created by pans on 4/28/18.
//
+/***
+ * 璇存槑锛屾湰鏂囦欢涓昏鏄痵ql璇彞鎷兼帴鍙婅幏鍙栧凡瀹氫箟鐨剆ql璇彞
+ * 鐩墠浠呮敮鎸佸崟琛╯ql璇彞鎷兼帴
+ */
#ifndef TESTSQLITE_SQLITETOOLKIT_HPP
#define TESTSQLITE_SQLITETOOLKIT_HPP
@@ -24,6 +28,9 @@
*/
typedef std::vector<unsigned char> FaceFeature;
+/***
+ * 娣诲姞浜鸿劯鐨勬暟鎹粨鏋�
+ */
struct AddFaceData {
std::string uuid;
FaceFeature feature;
@@ -31,6 +38,9 @@
std::string feature_base64;
};
+/***
+ * 浜鸿劯淇℃伅鐨勬暟鎹粨鏋�
+ */
struct FaceInfo {
std::string uuid;
std::string personName;
@@ -44,6 +54,9 @@
typedef std::vector<FaceInfo> FaceInfos;
typedef std::map<std::string, FaceInfo> FaceInfosCache;
+/***
+ * 琛ㄤ俊鎭暟鎹粨鏋�
+ */
struct TableInfo {
std::string uuid;
std::string tableName;
@@ -64,6 +77,9 @@
//typedef std::map<std::string, FaceFeatures> FeatureDBCache;
+/***
+ * 甯︽湁URL鍜屽叾浠栧睘鎬х殑浜鸿劯鐗瑰緛鏁版嵁缁撴瀯
+ */
struct FaceFeatureWithUrl {
std::string uuid;
std::string faceurl;
@@ -81,14 +97,19 @@
#define SQLERR(message) fprintf(stderr, "%s->%d-> SQLite error: %s\n",__FILE__,__LINE__, message);
- //#todo 鏁版嵁搴搘enjian鍚嶇О
+ //#todo 鏁版嵁搴撴枃浠跺悕绉�
+ //鏄惁闇�瑕佷粠閰嶇疆鏂囦欢璇诲彇锛�
static std::string file_dbName = "TestFaceDB.db";
//#todo 鏁版嵁搴撳悕绉�
static std::string g_dbName = "main";
//#todo 绠$悊琛ㄧ殑琛ㄥ悕
static std::string g_tableName = "sys_o_tables";
- //
+ /***
+ * 鑾峰彇浜鸿劯鐗瑰緛鏌ヨ鐨剆qlite璇彞
+ * @param tableName 琛ㄥ悕锛屼笉甯� _fea
+ * @return
+ */
std::string getFacesFromTableSql(std::string tableName) {
// #todo get monLevel 鑱斿悎鏌ヨ
std::string sql =
@@ -97,6 +118,11 @@
return sql;
}
+ /***
+ * 鏍规嵁琛ㄧ被鍨嬭幏鍙栨暟鎹〃鍒楄〃
+ * @param type
+ * @return
+ */
std::string getTableListSqlWithType(std::string type) {
std::string sql = "select tableName,del_flag from '" + g_tableName + "' where del_flag = 0";
if (type.size() > 0) {
@@ -105,12 +131,20 @@
return sql;
}
+ /***
+ * 鏌ヨ浠绘剰琛ㄧ殑鎵�鏈夊瓧娈�
+ * @param tableName
+ * @return
+ */
std::string getTableInfosSql(std::string tableName) {
std::string sql = "select * from '" + tableName + "';";// + " where del_flag = 0";
return sql;
}
-
+ /***
+ * 鑾峰彇褰撳墠宸插垱寤虹殑琛�
+ * @return
+ */
std::string getTableInfosSql() {
//uuid,tableName,tableDesc,tableType,bwType,startTime,endTime
std::string sql =
@@ -268,7 +302,12 @@
return sql;
}
-
+ /***
+ * 鑾峰彇鏇存柊浜鸿劯涓氬姟淇℃伅琛ㄧ殑sql璇彞
+ * @param tableName
+ * @param fieldValues
+ * @return
+ */
std::string getUpdateFaceTableSql(std::string tableName, FieldValues &fieldValues) {
if (tableName.size() == 0) {
//#todo errInfo
@@ -299,6 +338,11 @@
//#TODO 浜鸿劯琛ㄩ渶瑕佸垹闄や袱涓�
+ /***
+ * 鑾峰彇鍒犻櫎浜鸿劯琛ㄧ殑sql璇彞
+ * @param tableName
+ * @return
+ */
std::string getDeleteFaceTableSql(std::string tableName) {
if (tableName.size() == 0) {
//#todo errInfo
diff --git a/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp b/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp
index 6166a4f..dd25e47 100644
--- a/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp
+++ b/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp
@@ -10,11 +10,10 @@
RtspAnalysManager::RtspAnalysManager(LDBTool *_dbTool) : m_lDBTool(nullptr), m_maxCount(50), m_currentCount(0) {
INFO("MYH DEBUG HERE");
- m_lDBTool=new LDBTool;
+ m_lDBTool = new LDBTool;
init();
}
-
static std::string rtspAddrBuild(std::string ip, const int port, std::string username,
@@ -50,27 +49,25 @@
if (lst.size() > 0) {
int startCamNO = appPref.getIntData("CamStart") * appPref.getIntData("CamStep");
int CamCount = appPref.getIntData("CamStep");
- INFO("StartCamNO: "<<startCamNO<<" CamStep: "<<CamCount);
+ INFO("StartCamNO: " << startCamNO << " CamStep: " << CamCount);
auto itor = lst.begin();
- if(startCamNO >= lst.size())
- {
+ if (startCamNO >= lst.size()) {
ERR("startCamNO > lst.size()");
return;
}
- for(int i=0; i < startCamNO; i++){
+ for (int i = 0; i < startCamNO; i++) {
std::string t_camIdex = itor->str_cam_dev_id.toStdString();
std::string rtsp_url = rtspAddrBuild(itor->str_ip.toStdString(), 554, itor->str_username.toStdString(),
itor->str_password.toStdString(), itor->str_brand.toStdString());
- INFO("JumpCam: "<<t_camIdex<<" URL: "<<rtsp_url);
+ INFO("JumpCam: " << t_camIdex << " URL: " << rtsp_url);
itor++;
}
for (int i = 0; i < CamCount; i++) {
- if (itor == lst.end())
- {
+ if (itor == lst.end()) {
ERR("itor == lst.end()");
return;
}
@@ -102,7 +99,7 @@
RtspAnalysManager::~RtspAnalysManager() {
INFO("Program Exit");
for (auto controller: m_controllers) {
- INFO("Delete Controller: "<<controller.first);
+ INFO("Delete Controller: " << controller.first);
delete controller.second;
}
m_controllers.clear();
@@ -116,7 +113,7 @@
* @param rtsp 涓婇潰鐨勬憚鍍忔満瀵瑰簲鐨勮棰戣矾寰�
* @return -1 娣诲姞澶辫触,0 娣诲姞鎴愬姛
*/
-int RtspAnalysManager::addCamera(const std::string &index, const std::string& rtsp) {
+int RtspAnalysManager::addCamera(const std::string &index, const std::string &rtsp) {
auto lst = m_lDBTool->searchCamDevTableAll();
Record_Config lst_dev = m_lDBTool->searchConfigTableWithinServerInfo();
@@ -126,13 +123,13 @@
ERR("addCamera faild, camera's num is full!")
return -1;
}
- INFO("RTSP: "<<rtsp<<" INDEX:"<<index);
+ INFO("RTSP: " << rtsp << " INDEX:" << index);
m_imgRedisControllers[index] = new RtspImageRedisElement(index);
m_imgRedisControllers[index]->start();
- m_controllers[index] = new RtspCaptureElement(rtsp,index, 25,3000,0,this);
+ m_controllers[index] = new RtspCaptureElement(rtsp, index, 25, 3000, 0, this);
m_controllers[index]->start();
- m_controllers[index]->SetVideoMinMaxSeconds(lst_dev.n_cut_min_duration,lst_dev.n_cut_max_duration);
+ m_controllers[index]->SetVideoMinMaxSeconds(lst_dev.n_cut_min_duration, lst_dev.n_cut_max_duration);
m_currentCount++;
return 0;
@@ -212,37 +209,31 @@
//褰曞彇瑙嗛鐨凴PC鐨勬帴鍙e嚱鏁�
-::std::string RtspAnalysManager::recordVideo(const ::std::string& name, const ::Ice::Current&)
-{
- INFO("Record Video For: "<<name);
- ImageName_s_t nameSt=ImageName_s_t::fromString(name);
- if(nameSt.Valid())
- {
+::std::string RtspAnalysManager::recordVideo(const ::std::string &name, const ::Ice::Current &) {
+ INFO("Record Video For: " << name);
+ ImageName_s_t nameSt = ImageName_s_t::fromString(name);
+ if (nameSt.Valid()) {
auto pCaptureElem = m_controllers.find(nameSt.m_camId);
- if(pCaptureElem!= m_controllers.end())
- {
+ if (pCaptureElem != m_controllers.end()) {
pCaptureElem->second->SaveVideo(name);
- } else{
- ERR("Can not Find CamId "<<nameSt.m_camId);
+ } else {
+ ERR("Can not Find CamId " << nameSt.m_camId);
}
- }
- else{
- ERR("Record Video Failed:Name Not Valid Name: "<<name);
+ } else {
+ ERR("Record Video Failed:Name Not Valid Name: " << name);
}
return name;
}
//淇濆瓨瑙嗛鍒癛tspImageRedis鐨勯槦鍒�,鐢盧tspCaptureElement璋冪敤
-bool RtspAnalysManager::SaveImageToRedis(const std::string& camId,const std::string& imageName,const cv::Mat& img)
-{
+bool RtspAnalysManager::SaveImageToRedis(const std::string &camId, const std::string &imageName, const cv::Mat &img) {
INFO("MYH DEBUG HERE");
auto item = m_imgRedisControllers.find(camId);
- if(item!=m_imgRedisControllers.end())
- {
- INFO("Save Succeed Cam: "<<camId<<" ImageKey: "<<imageName);
- item->second->SaveImage(imageName,img);
+ if (item != m_imgRedisControllers.end()) {
+ INFO("Save Succeed Cam: " << camId << " ImageKey: " << imageName);
+ item->second->SaveImage(imageName, img);
} else {
- ERR("Save Failed Cam: "<<camId<<" ImageKey: "<<imageName);
+ ERR("Save Failed Cam: " << camId << " ImageKey: " << imageName);
}
INFO("MYH DEBUG HERE");
return true;
diff --git a/QiaoJiaSystem/YoloServer/main.cpp b/QiaoJiaSystem/YoloServer/main.cpp
index bd62a14..68b22b9 100644
--- a/QiaoJiaSystem/YoloServer/main.cpp
+++ b/QiaoJiaSystem/YoloServer/main.cpp
@@ -30,12 +30,12 @@
// return -1;
// }
- int gpuindex = 1;
+ int gpuindex = 0;
int poolNum = 1;
int portNum = 10003;
appPref.setIntData("gpu.index", gpuindex);
- appPref.setFloatData("thresh.detect", 0.7);
+ appPref.setFloatData("thresh.detect", 0.85);
appPref.setIntData("poolNum", poolNum);
IceRpcServer<YoloDetectServerI> server("yoloServer", portNum, "tcp");
--
Gitblit v1.8.0