c语言sscanf函数的用法是什么
408
2022-10-27
【EASY EAI Nano开源套件试用体验】5AI功能测试之多人脸识别
人脸检测,只是将图像中的人脸的位置检测出来,人脸识别,又增加了一部,在检测到人脸后,还要识别出这张脸是谁的脸。
主要来看下人脸识别组件。
face_recognition.h的主要内容
一些参数:
ctx:输入参数,rknn_context句柄path:输入参数,算法模型路径face_image:输入参数,图像数据输入(cv::Mat是Opencv的类型)feature:输出参数,算法输出的人脸特征码
face_alignment.h的主要内容
cv::Mat face_alignment(cv::Mat img, cv::Point2f* points);
geometry.h的主要内容
typedef struct{ float x; float y;}fPoint_t;typedef struct{ float left; //x1 float top; //y1 float right; //x2 float bottom; //y2}fRect_t;typedef struct{ int32_t x; int32_t y;}s32Point_t;typedef struct{ int32_t left; //x1 int32_t top; //y1 int32_t right; //x2 int32_t bottom; //y2}s32Rect_t;//判断点是否在矩形内extern bool point_in_rect(s32Point_t point, s32Rect_t rect);//计算矩形面积extern int32_t calc_rect_square(s32Rect_t rect);//找出面积较小矩形extern s32Rect_t min_rect(s32Rect_t rect1, s32Rect_t rect2);//找出面积较大矩形extern s32Rect_t max_rect(s32Rect_t rect1, s32Rect_t rect2);//判断矩形是否相交或相切extern bool rect_is_intersect(s32Rect_t rect1, s32Rect_t rect2);//计算两矩形相交部分面积(若相切,面积也为0)extern int32_t calc_rect_intersect_square(s32Rect_t rect1, s32Rect_t rect2);//计算[两矩形相交部分面积]与[小矩形面积]之比extern double calc_intersect_of_min_rect(s32Rect_t rect1, s32Rect_t rect2);//计算两矩形的交并比extern double calc_intersect_of_union(s32Rect_t rect1, s32Rect_t rect2);
2 代码分析与修改
2.1 图像采集与显示线程(主线程)
重新定义识别结果:
typedef struct{ bool bHasFace; //是否检测到人脸 bool bMatch; //是否与注册的人脸匹配 char idStr[128]; //匹配的人脸的id char nameStr[128]; //匹配的人脸的名称 float similarity; //匹配的相似度 uint64_t useTime; //匹配用时 uint32_t x1; //识别到的人脸框的4个点uint32_t y1;uint32_t x2;uint32_t y2;}Result_t;
主函数逻辑如下,和上篇进行人脸检测的代码逻辑类似。
2.2 人脸识别处理
3 测试
4 总结
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~