pans
2017-01-04 332d18eb6733a5400a2cfd3a3faa2e056bd2a02c


git-svn-id: http://192.168.1.226/svn/proxy@76 454eff88-639b-444f-9e54-f578c98de674
6个文件已修改
99 ■■■■■ 已修改文件
RtspFace/demo/src/DBuntil.cpp 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
RtspFace/demo/src/DBuntil.h 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
RtspFace/demo/src/run.sh 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
RtspFace/demo/src/test.cpp 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
RtspFace/demo/src/tools.cpp 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
RtspFace/demo/src/tools.h 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
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
RtspFace/demo/src/run.sh
@@ -1,2 +1,2 @@
#!/bin/bash
LD_LIBRARY_PATH=../libs/lib_dummy ./demo
LD_LIBRARY_PATH=../libs/lib_dummy ./demo ../test_img/face_01.jpg
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;
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;
        }
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;
};