From 332d18eb6733a5400a2cfd3a3faa2e056bd2a02c Mon Sep 17 00:00:00 2001 From: pans <pans@454eff88-639b-444f-9e54-f578c98de674> Date: 星期三, 04 一月 2017 19:07:05 +0800 Subject: [PATCH] --- RtspFace/demo/src/run.sh | 2 RtspFace/demo/src/tools.h | 4 +- RtspFace/demo/src/test.cpp | 7 ++- RtspFace/demo/src/DBuntil.cpp | 30 ++++++++------ RtspFace/demo/src/DBuntil.h | 11 ++--- RtspFace/demo/src/tools.cpp | 45 ++++++++++++---------- 6 files changed, 55 insertions(+), 44 deletions(-) diff --git a/RtspFace/demo/src/DBuntil.cpp b/RtspFace/demo/src/DBuntil.cpp index 27a2c76..3fe23c9 100644 --- a/RtspFace/demo/src/DBuntil.cpp +++ b/RtspFace/demo/src/DBuntil.cpp @@ -8,7 +8,7 @@ MYSQL_RES *result; MYSQL_ROW sql_row; -DBuntil::DBuntil(){} +DBuntil::DBuntil() {} DBuntil::DBuntil(my_db mydb) { @@ -35,18 +35,21 @@ mysql_close(&myCont); } -*person DBuntil::db_rearch(int f_id) +bool DBuntil::db_search(person* per) { - person p= {0,""}; - db_select(f_id,&p); - //瀵圭粨鏋勪綋璧嬪�� - return &p; + std::cout<<"db_search start"<<std::endl; + if(db_select(per)) + { + + return true; + } + return false; } -bool DBuntil::db_select(int f_id,person* per) +bool DBuntil::db_select(person* per) { - - sprintf( sql, "select a.p_id,b.`name`,b.img from face_person a,user_info b where a.face_id = %d AND a.p_id = b.pid " , f_id ); + std::cout<<"db_select start"<<std::endl; + sprintf( sql, "select a.p_id,b.`name`,b.img from face_person a,user_info b where a.face_id = %d AND a.p_id = b.pid " ,per->f_id ); mysql_query(&myCont, "SET NAMES utf8"); //璁剧疆缂栫爜鏍煎紡 res = mysql_query(&myCont,sql);//鏌ヨ @@ -71,14 +74,14 @@ return true; } -bool DBuntil::db_add(int f_id,person *per) +bool DBuntil::db_add(person *per) { // sprintf( sql, "INSERT INTO user_info(NAME, img) VALUES('%s', NULL)" , per->name ); res = mysql_query(&myCont,sql); if(!res) { - sprintf( sql, "INSERT INTO face_person(p_id, face_id) VALUES (LAST_INSERT_ID(), %d)" , f_id ); + sprintf( sql, "INSERT INTO face_person(p_id, face_id) VALUES (LAST_INSERT_ID(), %d)" , per->f_id ); res = mysql_query(&myCont,sql); if(!res) { @@ -88,9 +91,10 @@ return false; } -bool DBuntil::db_register(int f_id,person *per) +bool DBuntil::db_register(person *per) { - if(db_add(f_id,per)){ + if(db_add(per)) + { return true; } return false; diff --git a/RtspFace/demo/src/DBuntil.h b/RtspFace/demo/src/DBuntil.h index 5b18ce6..badd0b3 100644 --- a/RtspFace/demo/src/DBuntil.h +++ b/RtspFace/demo/src/DBuntil.h @@ -23,19 +23,18 @@ DBuntil(); DBuntil(my_db mydb); ~DBuntil(); - *person db_rearch(int f_id); - - bool db_register(int f_id,person *p); + + bool db_search(person *p); + bool db_register(person *p); private: - bool db_add(int f_id,person *per); + bool db_add(person *per); int db_update(); - bool db_select(int f_id,person *per); + bool db_select(person *per); char sql[1024]; int res; }; - #endif \ No newline at end of file diff --git a/RtspFace/demo/src/run.sh b/RtspFace/demo/src/run.sh index 1c45db9..66cf2b1 100644 --- a/RtspFace/demo/src/run.sh +++ b/RtspFace/demo/src/run.sh @@ -1,2 +1,2 @@ #!/bin/bash -LD_LIBRARY_PATH=../libs/lib_dummy ./demo \ No newline at end of file +LD_LIBRARY_PATH=../libs/lib_dummy ./demo ../test_img/face_01.jpg \ No newline at end of file diff --git a/RtspFace/demo/src/test.cpp b/RtspFace/demo/src/test.cpp index 135b3a8..aa09274 100644 --- a/RtspFace/demo/src/test.cpp +++ b/RtspFace/demo/src/test.cpp @@ -27,8 +27,11 @@ int idx = -11; tools tool=tools(); - idx=tool->reg(bgr_image,p); - cout<<"idx="<<idx<<endl; + //idx=tool.reg(bgr_image,&p); + tool.search(bgr_image,&p); + 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/demo/src/tools.cpp b/RtspFace/demo/src/tools.cpp index ac85d55..1cce90d 100644 --- a/RtspFace/demo/src/tools.cpp +++ b/RtspFace/demo/src/tools.cpp @@ -1,8 +1,9 @@ #include "tools.h" -tools::tools() { - my_db mydb={"root","Basic@2017","localhost","demo",3306}; - +tools::tools() +{ + my_db mydb= {"root","Basic@2017","localhost","demo",3306}; + dbu = DBuntil(mydb); } @@ -10,11 +11,11 @@ int tools::search(cv::Mat image,person *p) { - idx = f_api.do_reasch(image); - if(idx<0) + p={}; + p->f_id = f_api.do_reasch(image); + if(p->f_id < 0) { - p = dbu.db_rearch(idx); - if(p != NULL) + if(do_search(p) == 0) { return 0; } @@ -24,11 +25,11 @@ int tools::search(char* s_feature,person *p) { - idx = f_api.do_reasch(s_feature); - if(idx<0) + p={}; + p->f_id = f_api.do_reasch(s_feature); + if(p->f_id < 0) { - p = dbu.db_rearch(idx); - if(p != NULL) + if(do_search(p) == 0) { return 0; } @@ -38,26 +39,30 @@ int tools::reg(cv::Mat image,person *p) { - if(do_register(image,p) == 0){ + if(do_register(image,p) == 0) + { return 0; } return -1; } -person tools::do_search(int idx) +int tools::do_search(person *p) { - person p; - p = dbu.db_rearch(idx); - return p; + dbu.db_search(p); + if(p->p_id != NULL) + { + return 0; + } + return -1; } int tools::do_register(cv::Mat image,person *p) { - idx = f_api.do_register(image); - if(idx<0) + p={}; + p->f_id = f_api.do_register(image); + if(p->f_id < 0) { - p->f_id = idx; - if(dbu.db_register(idx,p)) + if(dbu.db_register(p)) { return 0; } diff --git a/RtspFace/demo/src/tools.h b/RtspFace/demo/src/tools.h index 6b76ae1..de24907 100644 --- a/RtspFace/demo/src/tools.h +++ b/RtspFace/demo/src/tools.h @@ -14,8 +14,8 @@ int reg(cv::Mat image,person *p); private: int do_register(cv::Mat image,person *p); - person do_search(int idx); - int idx; + int do_search(person *p); + person per; DBuntil dbu; faceAPI f_api; }; -- Gitblit v1.8.0