//
|
// Created by pans on 5/2/18.
|
//
|
#include <iostream>
|
#include <thread>
|
|
//#include <basic/util/app/AppPreference.hpp>
|
#include <zconf.h>
|
#include <basic/debug/Debug.h>
|
//#include <QtCore/QString>
|
//#include "SqliteFaceEncap.h"
|
//#include "SqliteToolkit.hpp"
|
#include "GetUUId.h"
|
|
using namespace std;
|
|
/***
|
* 初始化创建表 :
|
* 1.底库管理表
|
* uuid, tableName, tableDesc, tableType, bwType, create_time, update_time, create_by, del_flag, startTime, endTime
|
* sql ok
|
*
|
* 2.中文和uuid对应表
|
* uuid, name, tableName(uuid)
|
* sql ok code not ok
|
*
|
*
|
* 底库特征表 id是uuid
|
* uuid, feature, img_url, create_time, update_time, create_by
|
* sql ok
|
*
|
* 人员信息表
|
* uuid, personName, age, sex, idCard, phoneNum, create_time, update_time, create_by
|
* sql ok
|
*
|
* car #todo
|
*
|
*
|
*
|
*/
|
|
/***
|
|
drop table "main"."sys_o_tables";
|
CREATE TABLE "main"."sys_o_tables" (
|
uuid varchar(255) PRIMARY KEY,
|
ClusterName varchar(255) DEFAULT NULL,
|
tableName varchar(255) DEFAULT NULL,
|
tableDesc varchar(255) DEFAULT NULL,
|
tableType varchar(255) DEFAULT NULL,
|
bwType varchar(255) DEFAULT NULL,
|
startTime varchar(255) DEFAULT NULL,
|
endTime varchar(255) DEFAULT NULL,
|
create_time BLOB DEFAULT (datetime('now', 'localtime')),
|
update_time varchar(255) DEFAULT NULL,
|
create_by varchar(255) DEFAULT NULL,
|
del_flag varchar(255) DEFAULT 0
|
);
|
|
drop table "main"."TN2TID";
|
CREATE TABLE "main"."TN2TID" (
|
uuid varchar(255) PRIMARY KEY,
|
TableName varchar(255) NOT NULL,
|
tableID varchar(255) NOT NULL,
|
create_time BLOB DEFAULT (datetime('now', 'localtime')),
|
update_time varchar(255) DEFAULT NULL,
|
del_flag INTEGER DEFAULT 0
|
);
|
|
drop table "main"."person_info";
|
CREATE TABLE "main"."person_info" (
|
uuid varchar(255) PRIMARY KEY,
|
personName varchar(255) DEFAULT NULL,
|
age varchar(255) DEFAULT NULL,
|
sex varchar(255) DEFAULT NULL,
|
idCard varchar(255) DEFAULT NULL,
|
phoneNum varchar(255) DEFAULT NULL,
|
create_time BLOB DEFAULT (datetime('now', 'localtime')),
|
update_time DATETIME DEFAULT NULL,
|
create_by varchar(255) DEFAULT NULL,
|
del_flag INTEGER DEFAULT 0
|
);
|
|
drop table "main"."person_info_feature";
|
CREATE TABLE "main"."person_info_feature" (
|
uuid varchar(255) PRIMARY KEY,
|
feature BLOB NOT NULL,
|
faceUrl BLOB NOT NULL,
|
create_time BLOB DEFAULT (datetime('now', 'localtime')),
|
update_time varchar(255) DEFAULT NULL,
|
create_by varchar(255) DEFAULT NULL,
|
del_flag INTEGER DEFAULT 0
|
);
|
|
*/
|
|
|
//struct FaceFeaWithScore {
|
// int left;
|
// int top;
|
// int width;
|
// int height;
|
// std::vector<unsigned char> feature;
|
// float score;
|
//};
|
//typedef std::vector<FaceFeaWithScore> Features;
|
|
|
/***
|
*
|
* @param argc
|
* @param argv
|
* @return
|
*/
|
/*
|
int main2(int argc, char **argv) {
|
|
SAVE_APP_ARGS;
|
|
// cout << getInitDBSql();
|
|
SqliteFaceEncap sqliteFaceEncap("testRR");
|
|
{
|
//#删除底库
|
// sqliteFaceEncap.deleteTable("test1");
|
}
|
|
{
|
FieldValues fieldValues;
|
fieldValues.insert(std::make_pair("uuid", GetUUId::getUUID()));
|
fieldValues.insert(std::make_pair("tableName", "test2"));
|
fieldValues.insert(std::make_pair("tableDesc", "ceshi"));
|
fieldValues.insert(std::make_pair("tableType", "person"));
|
fieldValues.insert(std::make_pair("bwType", "1"));
|
fieldValues.insert(std::make_pair("startTime", "2018-01-01 02:02:02"));
|
fieldValues.insert(std::make_pair("endTime", "2018-12-01 02:02:02"));
|
fieldValues.insert(std::make_pair("create_by", "who"));
|
|
//#创建底库
|
// sqliteFaceEncap.createTable("test2", fieldValues);
|
}
|
|
{
|
//#查询人脸底库列表
|
auto res = sqliteFaceEncap.getTableNameList("person");
|
for (auto &item : res) {
|
std::cout << "tableName is " << item << std::endl;
|
}
|
}
|
|
{
|
//#更新底库管理表
|
FieldValues fieldValues;
|
fieldValues.insert(std::make_pair("uuid", "c4e27077-59a3-458e-aedf-4b5d4def649b"));
|
fieldValues.insert(std::make_pair("tableName", "test4"));
|
fieldValues.insert(std::make_pair("tableDesc", "ceshi2"));
|
fieldValues.insert(std::make_pair("tableType", "car"));
|
fieldValues.insert(std::make_pair("bwType", "0"));
|
fieldValues.insert(std::make_pair("startTime", "2018-01-01 02:02:02"));
|
fieldValues.insert(std::make_pair("endTime", "2018-12-01 02:02:02"));
|
fieldValues.insert(std::make_pair("create_by", "who"));
|
// sqliteFaceEncap.updateTable("sys_o_tables", fieldValues);
|
}
|
|
{
|
Features faceResults;
|
for (int i = 0; i < 10; i++) {
|
FaceFeaWithScore faceFeaWithScore;
|
faceFeaWithScore.feature.resize(100);
|
memset(faceFeaWithScore.feature.data(), 1, faceFeaWithScore.feature.size());
|
|
faceResults.push_back(faceFeaWithScore);
|
}
|
//#添加人脸数据 TODO test
|
//#两张表
|
int lpp = 0;
|
FieldValues fieldValues;
|
for (auto item : faceResults) {
|
AddFaceData addFaceData;
|
addFaceData.feature.resize(item.feature.size());
|
memcpy(addFaceData.feature.data(), item.feature.data(), item.feature.size());
|
addFaceData.uuid = GetUUId::getUUID();
|
addFaceData.faceUrl = "null";
|
auto t_id = sqliteFaceEncap.addFace("test1", addFaceData, fieldValues);
|
}
|
}
|
|
{
|
//#更新人脸数据
|
//#todo 两张表
|
FieldValues fieldValues;
|
FaceFeaWithScore faceFeaWithScore;
|
faceFeaWithScore.feature.resize(100);
|
memset(faceFeaWithScore.feature.data(), 1, faceFeaWithScore.feature.size());
|
|
|
AddFaceData addFaceData;
|
addFaceData.feature.resize(faceFeaWithScore.feature.size());
|
memcpy(addFaceData.feature.data(), faceFeaWithScore.feature.data(), faceFeaWithScore.feature.size());
|
// addFaceData.uuid = "ac8b30cf-8476-4dcf-a476-96907bb9a01f";
|
addFaceData.faceUrl = "ttttttttt";
|
// auto ret = sqliteFaceEncap.updateFace("test1", addFaceData, fieldValues);
|
// if (ret) {
|
// DBG("true");
|
// } else {
|
// DBG("false");
|
// }
|
}
|
|
{
|
//#删除人脸数据
|
sqliteFaceEncap.deleteFace("test1", "e04ad3bc-5126-4fe5-b01f-f461dd30e104");
|
}
|
|
|
{
|
//#查询人脸数据
|
auto res = sqliteFaceEncap.getFacesFromTable("test1");
|
auto &res_t = *res;
|
for (auto &item : res_t) {
|
// std::cout << item.first << std::endl;
|
std::cout << item.second.uuid << std::endl;
|
std::cout << item.second.faceurl << std::endl;
|
std::cout << item.second.faceFeature.size() << std::endl;
|
}
|
}
|
|
{
|
auto res = sqliteFaceEncap.getTableInfos();
|
for (auto &item : res) {
|
std::cout << item.uuid << std::endl;
|
}
|
}
|
|
return 0;
|
}
|
*/
|
//#define STRIP_LOG 0
|
#include <AppConfig.h>
|
|
int main(int argc, char **argv) {
|
ENABLEGLOG(GET_STR_CONFIG("logPath").c_str());
|
std::cout<<__DATE__<<" "<<__TIME__<<std::endl;
|
std::string m = "test";
|
DBG(m << " DBG");
|
DBG(m << " DBG");
|
LOG(INFO) << "hello glog"; // 打印log:“hello glog. 类似于C++ stream。
|
SYSLOG(INFO) << "test log";
|
// DLOG(INFO, m);
|
// RAW_DLOG(WARNING, "test");
|
|
|
CHKMSG(1, 1, m << " CHKMSG");
|
CHKMSG(1, 2, m << " CHKMSG");
|
MSG(m << " MSG");
|
|
CHKERR(1, 1, m << " CHKERR");
|
CHKERR(1, 2, m << " CHKERR");
|
|
ERR(m << " ERR");
|
|
CHKINFO(1, 1, m << " CHKINFO");
|
CHKINFO(1, 2, m << " CHKINFO");
|
INFO(m << " INFO");
|
|
CHKDBG(1, 1, m << " CHKDBG");
|
CHKDBG(1, 2, m << " CHKDBG");
|
|
DBG(m << " DBG");
|
|
getchar();
|
}
|