From 865a8c4e82eb9449c422cec0acc72d944a35bbd7 Mon Sep 17 00:00:00 2001
From: pans <pans@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 30 十二月 2016 10:27:14 +0800
Subject: [PATCH] 

---
 RtspFace/demo/src/sample_face_track.cpp |   35 ++++++++---------
 RtspFace/demo/src/test.cpp              |    9 ++--
 RtspFace/demo/src/faceAPI.h             |    2 
 RtspFace/demo/src/faceDB.h              |    7 ++-
 RtspFace/demo/src/faceDB.cpp            |   61 ++++++++++++++----------------
 5 files changed, 56 insertions(+), 58 deletions(-)

diff --git a/RtspFace/demo/src/faceAPI.h b/RtspFace/demo/src/faceAPI.h
index 736a472..7148f09 100644
--- a/RtspFace/demo/src/faceAPI.h
+++ b/RtspFace/demo/src/faceAPI.h
@@ -17,7 +17,7 @@
 	int do_register(cv::Mat image);
 
 private:
-	
+
 	//调用搜索
 	int p_img_search(cv_feature_t *p_feature);
 
diff --git a/RtspFace/demo/src/faceDB.cpp b/RtspFace/demo/src/faceDB.cpp
index c5b226c..f57c356 100644
--- a/RtspFace/demo/src/faceDB.cpp
+++ b/RtspFace/demo/src/faceDB.cpp
@@ -5,7 +5,8 @@
 //"./out1.db"
 char *db_path = "out.db";
 
-faceDB::faceDB(){
+faceDB::faceDB()
+{
 	// 创建人脸数据库句柄
 	cv_verify_create_db(&handle_db);
 	fprintf(stderr, "create cv_verify_create_db\n");
@@ -17,20 +18,21 @@
 	fprintf(stderr, "db load\n");
 }
 
-faceDB::~faceDB(){}
+faceDB::~faceDB() {}
 
 /*
 faceDB* faceDB::GetInstance(){
 	if (db == NULL)
 	{
 		db = new faceDB();
-	} 
+	}
 
 	return db;
 }*/
 
 //数据库添加数据,并返回记录得id
-int faceDB::db_add(cv_feature_t* p_feature) {
+int faceDB::db_add(cv_feature_t* p_feature)
+{
 	int idx;
 	cv_result_t cv_result = cv_verify_add_face(handle_db, p_feature, &idx);
 	if (cv_result != CV_OK) {
@@ -42,13 +44,13 @@
 
 
 //数据库保存
-bool faceDB::db_save() {
+bool faceDB::db_save()
+{
 	cv_result = cv_verify_save_db(handle_db, db_path);
 	if (cv_result != CV_OK) {
 		fprintf(stderr, "cv_verify_save_db failed, error code %d\n", cv_result);
 		return false;
-	}
-	else {
+	} else {
 		fprintf(stderr, "save done!\n");
 	}
 
@@ -56,21 +58,18 @@
 }
 
 //数据库加载
-bool faceDB::db_load() {
-	if (handle_db != NULL)
-	{
+bool faceDB::db_load()
+{
+	if (handle_db != NULL) {
 		fprintf(stderr, "handle_db is not null!%s\n",db_path);
-	} 
-	else
-	{
+	} else {
 		fprintf(stderr, "handle_db is null!%s\n",db_path);
 	}
 	cv_result = cv_verify_load_db(handle_db, db_path);
 	if (cv_result != CV_OK) {
 		fprintf(stderr, "cv_verify_load_db failed, error code %d\n", cv_result);
 		return false;
-	}
-	else {
+	} else {
 		fprintf(stderr, "load done!\n");
 	}
 
@@ -78,9 +77,10 @@
 }
 
 //搜索数据库
-int faceDB::search_db(cv_feature_t *p_feature) {
+int faceDB::search_db(cv_feature_t *p_feature)
+{
 
-	
+
 	int indx=-1;
 	//查询前10条
 	int top_k = 3;
@@ -88,8 +88,8 @@
 	float *top_scores = new float[top_k];
 	unsigned int result_length = 0;
 	cv_result = cv_verify_search_face(handle_verify, handle_db,
-		p_feature, top_k,
-		top_idxs, top_scores, &result_length);
+	                                  p_feature, top_k,
+	                                  top_idxs, top_scores, &result_length);
 
 
 	if (cv_result == CV_OK) {
@@ -102,8 +102,7 @@
 	} else {
 		fprintf(stderr, "cv_verify_search_face failed, error code %d\n", cv_result);
 	}
-	if (top_scores[0] != 0)
-	{
+	if (top_scores[0] != 0) {
 		indx=top_idxs[0];
 	}
 	if (top_idxs) {
@@ -116,14 +115,12 @@
 	return indx;
 }
 
-cv_feature_t* faceDB::extract_feature(cv::Mat image_color) {
+cv_feature_t* faceDB::extract_feature(cv::Mat image_color)
+{
 
-	if (handle_verify != NULL)
-	{
+	if (handle_verify != NULL) {
 		fprintf(stderr, "fdb.handle_verify is not null!\n");
-	} 
-	else
-	{
+	} else {
 		fprintf(stderr, "fdb.handle_verify is null!\n");
 	}
 
@@ -132,13 +129,13 @@
 	int face_count = 0;
 	cv_result_t st_result = CV_OK;
 	st_result = cv_face_detect(handle_detect, image_color.data, CV_PIX_FMT_BGR888,
-		image_color.cols, image_color.rows, image_color.step,
-		CV_FACE_UP, &p_face, &face_count);
+	                           image_color.cols, image_color.rows, image_color.step,
+	                           CV_FACE_UP, &p_face, &face_count);
 	if (face_count >= 1) {
 		st_result = cv_verify_get_feature(handle_verify,
-			(unsigned char *)image_color.data, CV_PIX_FMT_BGR888,
-			image_color.cols, image_color.rows, image_color.step,
-			p_face, &p_feature, NULL);
+		                                  (unsigned char *)image_color.data, CV_PIX_FMT_BGR888,
+		                                  image_color.cols, image_color.rows, image_color.step,
+		                                  p_face, &p_feature, NULL);
 		if (st_result != CV_OK) {
 			fprintf(stderr, "cv_verify_get_feature failed, error code %d\n", st_result);
 		}
diff --git a/RtspFace/demo/src/faceDB.h b/RtspFace/demo/src/faceDB.h
index 51036e8..c1aedda 100644
--- a/RtspFace/demo/src/faceDB.h
+++ b/RtspFace/demo/src/faceDB.h
@@ -12,10 +12,11 @@
 //静态人脸识别
 static cv_handle_t handle_detect;
 
-class faceDB{
+class faceDB
+{
 public:
 	//static faceDB* GetInstance();
-	
+
 	//搜索SDK数据库
 	int search_db(cv_feature_t* p_feature );
 	//添加记录
@@ -30,7 +31,7 @@
 	cv_feature_t *extract_feature(cv::Mat image_color);
 
 private:
-	
+
 	cv_result_t cv_result;
 	//static faceDB* db;
 	//faceDB(const faceDB & );
diff --git a/RtspFace/demo/src/sample_face_track.cpp b/RtspFace/demo/src/sample_face_track.cpp
index 69781fe..2d01890 100644
--- a/RtspFace/demo/src/sample_face_track.cpp
+++ b/RtspFace/demo/src/sample_face_track.cpp
@@ -7,7 +7,8 @@
 using namespace std;
 using namespace cv;
 
-int main(int argc, char *argv[]) {
+int main(int argc, char *argv[])
+{
 	if (argc < 2) {
 		fprintf(stderr, "test_sample_face_track [alignment point size(21 or 106)] [detect face cont limit]\n");
 		fprintf(stderr, "for example: \"test_sample_face_track 21 1\"\n");
@@ -28,11 +29,9 @@
 	int config;
 	if (point_size == 21) {
 		config = CV_DETECT_ENABLE_ALIGN_21;
-	}
-	else if (point_size == 106) {
+	} else if (point_size == 106) {
 		config = CV_DETECT_ENABLE_ALIGN_106;
-	}
-	else {
+	} else {
 		fprintf(stderr, "alignment point size must be 21 or 106\n");
 		return -1;
 	}
@@ -67,12 +66,12 @@
 		int face_count = 0;
 		while (capture.read(bgr_frame)) {       // CV_PIX_FMT_BGR888
 			resize(bgr_frame, bgr_frame, Size(frame_width, frame_height), 0, 0,
-				INTER_LINEAR);
+			       INTER_LINEAR);
 			// realtime track
 			face_count = 0;
 			cv_result = cv_face_track(handle_track, bgr_frame.data, CV_PIX_FMT_BGR888,
-				bgr_frame.cols, bgr_frame.rows, bgr_frame.step,
-				CV_FACE_UP, &p_face, &face_count);
+			                          bgr_frame.cols, bgr_frame.rows, bgr_frame.step,
+			                          CV_FACE_UP, &p_face, &face_count);
 			if (cv_result != CV_OK) {
 				fprintf(stderr, "cv_face_track failed, error : %d\n", cv_result);
 				cv_face_release_tracker_result(p_face, face_count);
@@ -81,23 +80,23 @@
 
 			for (int i = 0; i < face_count; i++) {
 				fprintf(stderr, "face: %d-----[%d, %d, %d, %d]-----id: %d\n", i,
-					p_face[i].rect.left, p_face[i].rect.top,
-					p_face[i].rect.right, p_face[i].rect.bottom, p_face[i].ID);
+				        p_face[i].rect.left, p_face[i].rect.top,
+				        p_face[i].rect.right, p_face[i].rect.bottom, p_face[i].ID);
 				fprintf(stderr, "face pose: [yaw: %.2f, pitch: %.2f, roll: %.2f, eye distance: %.2f]\n",
-					p_face[i].yaw,
-					p_face[i].pitch, p_face[i].roll, p_face[i].eye_dist);
+				        p_face[i].yaw,
+				        p_face[i].pitch, p_face[i].roll, p_face[i].eye_dist);
 
 				// draw the video
 				Scalar scalar_color = CV_RGB(p_face[i].ID * 53 % 256,
-					p_face[i].ID * 93 % 256,
-					p_face[i].ID * 143 % 256);
+				                             p_face[i].ID * 93 % 256,
+				                             p_face[i].ID * 143 % 256);
 				rectangle(bgr_frame, Point2f(static_cast<float>(p_face[i].rect.left),
-					static_cast<float>(p_face[i].rect.top)),
-					Point2f(static_cast<float>(p_face[i].rect.right),
-					static_cast<float>(p_face[i].rect.bottom)), scalar_color, 2);
+				                             static_cast<float>(p_face[i].rect.top)),
+				          Point2f(static_cast<float>(p_face[i].rect.right),
+				                  static_cast<float>(p_face[i].rect.bottom)), scalar_color, 2);
 				for (int j = 0; j < p_face[i].points_count; j++) {
 					circle(bgr_frame, Point2f(p_face[i].points_array[j].x,
-						p_face[i].points_array[j].y), 1, Scalar(0, 255, 0));
+					                          p_face[i].points_array[j].y), 1, Scalar(0, 255, 0));
 				}
 			}
 
diff --git a/RtspFace/demo/src/test.cpp b/RtspFace/demo/src/test.cpp
index acc5771..f626a03 100644
--- a/RtspFace/demo/src/test.cpp
+++ b/RtspFace/demo/src/test.cpp
@@ -6,23 +6,24 @@
 
 using namespace std;
 
-int main(int argc, char *argv[] ) {
+int main(int argc, char *argv[] )
+{
 
 	//文件路径
 	char *db_path = "./out.db";
 	char *image_path = argv[1];
 	char *image_list = "../test_image/imglist";
 	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;
 	}
 	int idx = -11;
 	faceAPI face;
 	idx = face.do_reasch(bgr_image);
- 	cout<<"idx="<<idx<<endl;
+	cout<<"idx="<<idx<<endl;
 
 	return 0;
 }

--
Gitblit v1.8.0