| | |
| | | #include "faceAPI.h"
|
| | | #include <iostream>
|
| | |
|
| | | FaceDB *fdb;
|
| | |
|
| | | FaceAPI::FaceAPI()
|
| | | {
|
| | | //创建静态人脸识别句柄,同时创建状态标量
|
| | |
| | | FaceAPI::~FaceAPI()
|
| | | {
|
| | |
|
| | | }
|
| | |
|
| | | int FaceAPI::do_init(char* db_path)
|
| | | {
|
| | | return fdb->init(db_path);
|
| | | }
|
| | |
|
| | | //@brief 搜索功能
|
| | |
| | | cv_face_t *p_face = NULL;
|
| | | int face_count = 0;
|
| | | cv_result_t st_result = CV_OK;
|
| | | fprintf(stderr, "cv_face_detect start!\n");
|
| | | if (handle_detect != NULL)
|
| | | {
|
| | | fprintf(stderr, "handle_detect is not null!\n");
|
| | | }
|
| | | else
|
| | | {
|
| | | fprintf(stderr, "handle_detect is null!\n");
|
| | | }
|
| | | 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);
|
| | | fprintf(stderr, "cv_face_detect end!\n");
|
| | | if (face_count >= 1)
|
| | | {
|
| | | fprintf(stderr, "cv_verify_get_feature end!\n");
|
| | | 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);
|
| | | fprintf(stderr, "cv_verify_get_feature end!\n");
|
| | | if (st_result != CV_OK)
|
| | | {
|
| | | fprintf(stderr, "cv_verify_get_feature failed, error code %d\n", st_result);
|