seetaface2人脸识别

      前几天实验室考核要用到seetaface2,给的参考资料是GitHub上官方文档,是用c++写的,但自己只有c语言基础看官方给的代码有点吃力,在网上找了好久都没发现好的参考资料。
然后只能自己摸索,经过几天的尝试后,终于看懂了官方文档,后来有看了看官方的c++头文件,原来用到的函数,在头文件里都有说明和参数介绍,说的还比较清楚。

这里附上github地址: https://github.com/seetaface/SeetaFaceEngine2/blob/master/example/C++/README.md

    后来写程序就比较容易了,所以把代码贴在这里,给要找seetaface2代码的同学一点参考吧。

 

(linux环境下,配合opencv使用)

1,一对一人脸识别

#include <iostream>

#include <opencv2/core.hpp> //使用自己编译的opencv头文件
#include <opencv/highgui.h>
#include <opencv2/opencv.hpp>

#include <seeta/FaceDetector2.h>
#include <seeta/Struct_cv.h>
#include <seeta/PointDetector2.h>
#include <seeta/FaceRecognizer.h>

using namespace std;
using namespace cv;

int main(int argc, char **argv)
{
	seeta::FaceDetector2 FD("bindata/SeetaFaceDetector2.0.ats");
	seeta::PointDetector2 PD("bindata/SeetaPointDetector2.0.pts5.ats");
	seeta::FaceRecognizer2 FR("bindata/SeetaFaceRecognizer2.0.ats");

	float similar = 0;

	Mat mat1 = imread("image/2.jpg");
	seeta::cv::ImageData image1 = mat1;
	SeetaRect *face1 = FD.Detect(image1);
	SeetaPointF points1[5];
	PD.DetectEx(image1, *face1, points1);

	Mat mat2 = imread("image/1.jpg");
	seeta::cv::ImageData image2 = mat2;
	SeetaRect *face2 = FD.Detect(image2);
	SeetaPointF points2[5];
	PD.DetectEx(image2, *face2, points2);

	//判断相似性
	similar = FR.Compare(image1, points1, image2, points2);
	
	if (similar <= 0.65)   //以0.6
  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值