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