From bd64063bd5f2adfdedc7caa609f6554a78c79ab0 Mon Sep 17 00:00:00 2001 From: pans <pans@454eff88-639b-444f-9e54-f578c98de674> Date: 星期五, 13 一月 2017 15:10:49 +0800 Subject: [PATCH] --- RtspFace/SensetimeFaceAPIWrapper/src/tools.cpp | 22 ++++++----- RtspFace/SensetimeFaceAPIWrapper/src/test.cpp | 42 +++++++++++--------- RtspFace/SensetimeFaceAPIWrapper/src/DBuntil.cpp | 25 ++++++------ RtspFace/SensetimeFaceAPIWrapper/src/faceAPI.cpp | 7 +++ RtspFace/SensetimeFaceAPIWrapper/src/faceAPI.h | 3 + RtspFace/SensetimeFaceAPIWrapper/src/tools.h | 3 + RtspFace/SensetimeFaceAPIWrapper/src/DBuntil.h | 5 -- 7 files changed, 61 insertions(+), 46 deletions(-) diff --git a/RtspFace/SensetimeFaceAPIWrapper/src/DBuntil.cpp b/RtspFace/SensetimeFaceAPIWrapper/src/DBuntil.cpp index 5aa8e5b..1850fe7 100644 --- a/RtspFace/SensetimeFaceAPIWrapper/src/DBuntil.cpp +++ b/RtspFace/SensetimeFaceAPIWrapper/src/DBuntil.cpp @@ -11,7 +11,6 @@ { if (result != NULL) mysql_free_result(result); - mysql_close(&myCont); } @@ -35,20 +34,21 @@ else { std::cout<<"mysql_real_connect failed"<<std::endl; + std::cout<<"db_init(my_db mydb) end"<<std::endl; + return false; } - std::cout<<"db_init(my_db mydb) end"<<std::endl; - return false; + } bool DBuntil::db_search(person* per) { std::cout<<"db_search start"<<std::endl; - //db_init() if(db_select(per)) { return true; } - return false; + else + return false; } bool DBuntil::db_select(person* per) @@ -59,12 +59,8 @@ std::cout<<"per->f_id="<<per->f_id<<std::endl; std::cout<<sql<<std::endl; std::cout<<"==========end=============="<<std::endl; - if(!mysql_query(&myCont, "SET NAMES utf8"))//璁剧疆缂栫爜鏍煎紡 - { - std::cout<<"SET NAMES utf8"<<std::endl; - } - else - std::cout<<"SET NAMES utf8 failed"<<std::endl; + mysql_query(&myCont, "SET NAMES utf8");//璁剧疆缂栫爜鏍煎紡 + res = mysql_query(&myCont,sql);//鏌ヨ if (!res) { @@ -106,7 +102,11 @@ { return true; } + else + {} } + else + {} return false; } @@ -116,5 +116,6 @@ { return true; } - return false; + else + return false; } \ No newline at end of file diff --git a/RtspFace/SensetimeFaceAPIWrapper/src/DBuntil.h b/RtspFace/SensetimeFaceAPIWrapper/src/DBuntil.h index c335bb6..1aa1305 100644 --- a/RtspFace/SensetimeFaceAPIWrapper/src/DBuntil.h +++ b/RtspFace/SensetimeFaceAPIWrapper/src/DBuntil.h @@ -20,7 +20,6 @@ class DBuntil { - public: DBuntil(); ~DBuntil(); @@ -28,18 +27,16 @@ bool db_search(person *p); bool db_register(person *p); bool db_init(my_db mydb); - + MYSQL myCont; MYSQL_RES *result; MYSQL_ROW sql_row; private: - bool db_add(person *per); int db_update(); bool db_select(person *per); char sql[1024]; int res; - }; #endif \ No newline at end of file diff --git a/RtspFace/SensetimeFaceAPIWrapper/src/faceAPI.cpp b/RtspFace/SensetimeFaceAPIWrapper/src/faceAPI.cpp index bd26a51..50c2cf8 100644 --- a/RtspFace/SensetimeFaceAPIWrapper/src/faceAPI.cpp +++ b/RtspFace/SensetimeFaceAPIWrapper/src/faceAPI.cpp @@ -1,7 +1,7 @@ 锘�#include "faceAPI.h" #include <iostream> -FaceDB *fdb; + FaceAPI::FaceAPI() { //鍒涘缓闈欐�佷汉鑴歌瘑鍒彞鏌勶紝鍚屾椂鍒涘缓鐘舵�佹爣閲� @@ -16,6 +16,11 @@ } +int FaceAPI::do_init(char* db_path) +{ + return fdb->init(db_path); +} + //@brief 鎼滅储鍔熻兘 //@param 鍥剧墖 //@return 浜鸿劯id diff --git a/RtspFace/SensetimeFaceAPIWrapper/src/faceAPI.h b/RtspFace/SensetimeFaceAPIWrapper/src/faceAPI.h index f8073c7..2d7326d 100644 --- a/RtspFace/SensetimeFaceAPIWrapper/src/faceAPI.h +++ b/RtspFace/SensetimeFaceAPIWrapper/src/faceAPI.h @@ -12,6 +12,7 @@ public: FaceAPI(); ~FaceAPI(); + int do_init(char* db_path); //查询 前台调用 int do_reasch(char* s_feature); int do_reasch(cv::Mat image); @@ -26,6 +27,8 @@ //转换函数 int get_char(cv_feature_t *p_feature,char* feature_str); int get_feature(char *feature_str,cv_feature_t *p_feature); + + FaceDB *fdb; cv_feature_t* p_f; }; diff --git a/RtspFace/SensetimeFaceAPIWrapper/src/test.cpp b/RtspFace/SensetimeFaceAPIWrapper/src/test.cpp index 3c804bb..593f91f 100644 --- a/RtspFace/SensetimeFaceAPIWrapper/src/test.cpp +++ b/RtspFace/SensetimeFaceAPIWrapper/src/test.cpp @@ -3,6 +3,7 @@ #include <stdio.h> #include "faceAPI.h" +#include "tools.h" using namespace std; @@ -13,33 +14,36 @@ char *db_path = "./out.db"; char *image_path = argv[1]; char *image_list = "../test_image/imglist"; - - + my_db mydb= {"root","Basic@2017","localhost","demo",3306}; + // person p={0,"axsdcc",1}; - + cv::Mat bgr_image = cv::imread(image_path); - if(bgr_image.data != NULL) { + if(bgr_image.data != NULL) + { cout<<image_path<<endl; - } else { + } + else + { cout<<"image is null"<<endl; cout<<image_path<<endl; } - - FaceDB db =FaceDB(); - db.init(db_path); - int id = db.search_db(db.extract_feature(bgr_image)); -// int idx = -11; -// tools tool=tools(); -// tool.init(); -// cout<<"======tools init ==========="<<endl; + +// FaceDB db =FaceDB(); +// db.init(db_path); +// int id = db.search_db(db.extract_feature(bgr_image)); + int idx = -11; + tools tool=tools(); + tool.init(mydb,db_path); + cout<<"======tools init ==========="<<endl; //idx=tool.reg(bgr_image,&p); -// tool.search(bgr_image,&p); + tool.search(bgr_image,&p); cout<<"id="<<id<<endl; cout<<"============================================"<<endl; -// cout<<"p_id="<<p.p_id<<endl; -// cout<<"name="<<p.name<<endl; -// cout<<"f_id="<<p.f_id<<endl; - - + cout<<"p_id="<<p.p_id<<endl; + cout<<"name="<<p.name<<endl; + cout<<"f_id="<<p.f_id<<endl; + + return 0; } diff --git a/RtspFace/SensetimeFaceAPIWrapper/src/tools.cpp b/RtspFace/SensetimeFaceAPIWrapper/src/tools.cpp index ad8166d..cca460f 100644 --- a/RtspFace/SensetimeFaceAPIWrapper/src/tools.cpp +++ b/RtspFace/SensetimeFaceAPIWrapper/src/tools.cpp @@ -6,19 +6,25 @@ tools::~tools() {} -bool tools::init(){ - my_db mydb= {"root","Basic@2017","localhost","demo",3306}; - //DBuntil dbu =DBuntil(); - return dbu.db_init(mydb); +bool tools::init(my_db mydb,char* db_path_t) +{ + + //my_db mydb= {"root","Basic@2017","localhost","demo",3306}; + if(dbu.db_init(mydb)) + { + db_path = db_path_t; + return true; + } + else + return false; } int tools::search(cv::Mat image,person *p) { //p={}; int temp = f_api.do_reasch(image); - std::cout<<"temp="<<temp<<std::endl; p->f_id = temp; - std::cout<<"p->f_id"<<p->f_id<<std::endl; + if(p->f_id > 0) { if(do_search(p) == 0) @@ -54,10 +60,6 @@ int tools::do_search(person *p) { - //if(dbu.myCont == NULL){ - // std::cout<<"myCont is null"<<std::endl; - //} - dbu.db_search(p); if(p->p_id != NULL) { diff --git a/RtspFace/SensetimeFaceAPIWrapper/src/tools.h b/RtspFace/SensetimeFaceAPIWrapper/src/tools.h index d9c65f6..a1530f9 100644 --- a/RtspFace/SensetimeFaceAPIWrapper/src/tools.h +++ b/RtspFace/SensetimeFaceAPIWrapper/src/tools.h @@ -9,6 +9,7 @@ public: tools(); ~tools(); + bool init(my_db mydb,char* db_path); int search(cv::Mat image,person *p); int search(char* s_feature,person *p); int reg(cv::Mat image,person *p); @@ -17,6 +18,8 @@ private: int do_register(cv::Mat image,person *p); int do_search(person *p); + + char* db_path; person per; DBuntil dbu; faceAPI f_api; -- Gitblit v1.8.0