VS2017+QT5.11.2+SeetaFace1.0/SeetaFace2.0的简单实现
一、1.0版本和2.0版本简介:
- 1.0版本中与之对应的分别是:FaceDetection、FaceAlignment、FaceIdentification;
- 2.0版本中与之对应的分别是:FaceDetector、FaceLandmarker、FaceRecognizer,另外2.0版本还提供了两个辅助模块 FaceTracker 和 QualityAssessor用于人脸跟踪和质量评估。除此之外,2.0版本还引入了一个FaceDataBase对象,用于管理注册的人脸库,方便进行1v1或者1vN的人脸比对。

二、SeetaFace1.0的编译
三、SeetaFace2.0的编译







四、VS2017+OpenCV+SeetaFace1.0项目属性配置
五、VS2017+OpenCV+SeetaFace2.0项目属性配置






六、SeetaFace1.0实例
七、SeetaFace2.0实例


- seeta::ModelSetting::Device device = seeta::ModelSetting::CPU;
- //初始化模型,需要注意的是,模型文件同一时刻只能打开一次,
- //并且加载模型时需要一定的时间,
- //所以如果想多线程使用,需要对模型的导入进行加锁处理
- this->myMutex.lock();
- seeta::ModelSetting FD_model("./model/fd_2_00.dat", device, 0);
- //关于81点定位之后,得到的人脸相似度结果不理想的原因猜想:
- //图片的尺寸太小,导致81点都挤在了一起,然后进行人脸比对时误差变大
- //seeta::ModelSetting FL_model("./model/pd_2_00_pts81.dat", device, 0);
- seeta::ModelSetting FL_model("./model/pd_2_00_pts5.dat", device, 0);
- this->myMutex.unlock();
- seeta::FaceDetector FD(FD_model);
- seeta::FaceLandmarker FL(FL_model);
- //设置人脸框的最小尺寸,不能小于20
- FD.set(seeta::v2::FaceDetector::PROPERTY_MIN_FACE_SIZE, 20);
- seeta::FaceDatabase* FDB;
- FDB = new seeta::FaceDatabase(seeta::ModelSetting("./model/fr_2_10.dat", seeta::ModelSetting::CPU, 0));
- //清除之前导入的人脸
- this->FDB->Clear();

- //加载待检测的图片;
- //mat是传入的cv::Mat类型的图片
- seeta::cv::ImageData image = mat.clone();
- //进行人脸检测,获取所有的人脸信息;
- //FD是FaceDetector对象的实例
- //SeetaFaceInfoArray是SeetaFaceInfo数组
- //该数组中存储的是检测出的人脸框
- SeetaFaceInfoArray facesArr = FD.detect(image);
- //对该脸进行5点或81点定位
- //FL是FaceLandmarker对象实例
- //vector<SeetaPointF>是二维特征点的数组
- std::vector<SeetaPointF> currentFace81Points = FL.mark(image, facesArr.data[i].pos);
- //Compare的四个参数分别为:
- //SeetaImageData类型的图片,SeetaPointF*类型的特征点数组
- FDB->Compare(face1Data, face1Points.data(), face2Data, face2Points.data());
VS2017+QT5.11.2+SeetaFace1.0/SeetaFace2.0的简单实现的更多相关文章
- Windows7 + OSG3.6 + VS2017 + Qt5.11
一.准备工作 下载需要的材料: 1. OSG稳定版源代码, 3.6.3版本 2. 第三方库,选择VS2017对应的版本 https://download.osgvisual.org/3rdParty ...
- qt5.11.2+vs2017环境下配置pcl1.8.1以及第三方依赖库vtk的编译
1.准备工作 我所用的开发环境是win10下的qt5.11.2配置了vs2017的编译器,根据自己所用的VS的版本去官网下载对应版本的pcl库,如下 PCL-1.8.1-AllInOne-msvc20 ...
- 关于本电脑qt5.11+vs2017+opencv3.4的配置问题
本人想用qt5.11+vs2017+opencv3.4开发程序,配置了很久才成功,现在把配置后的环境变量记录一下,以供自己以后参考,同时也供大家参考. qt5.11+vs2017+opencv3.4的 ...
- Oracle Database 11g Release 2(11.2.0.3.0) RAC On Redhat Linux 5.8 Using Vmware Workstation 9.0
一,简介 二,配置虚拟机 1,创建虚拟机 (1)添加三块儿网卡: 主节点 二节点 eth0: 公网 192.168.1.20/24 NAT eth0: 公网 192.168.1 ...
- Oracle_RAC数据库GI的PSU升级(11.2.0.4.0到11.2.0.4.8)
Oracle_RAC数据库GI的PSU升级(11.2.0.4.0到11.2.0.4.8) 本次演示为升级oracle rac数据库,用GI的psu升级,从11.2.0.4.0升级到11.2.0.4.8 ...
- uninstall 11.2.0.3.0 grid & database in linux 5.7
OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ...
- maven 的 oracle的Missing artifact com.oracle:******:jar:11.2.0.2.0
解决方法: 下载ojdbc6对应版本号的包.把下载的包放到: 然后dos命令: -Dpackaging=jar -Dfile=ojdbc6.jar 主:必须确保已经配置了你maven,如何配置mave ...
- 单机Oracle+asm(11.2.0.3.0) Patch Set Update(11.2.0.3.7 )
之前写过一篇关于PSU升级的案例,参考如下: http://blog.csdn.net/jyjxs/article/details/8983880 但是,感觉有些地方理解的不是很透彻明白,照猫画虎的比 ...
- hive 0.10 0.11新增特性综述
我们的hive版本升迁经历了0.7.1 -> 0.8.1 -> 0.9.0,并且线上shark所依赖的hive版本也停留在0.9.0上,在这些版本上有我们自己的bug fix patch和 ...
随机推荐
- 转载:ubuntu 下的dpkg 的用法
dpkg是一个Debian的一个命令行工具,它可以用来安装.删除.构建和管理Debian的软件包. 下面是它的一些命令解释: 1)安装软件 命令行:dpkg -i <.deb file name ...
- Python基础:04映射类型
字典是Python语言中唯一的映射类型.一个字典对象是可变的,它是一个容器类型,能存储任意个数的Python对象.字典中的数据是无序排列的. 映射类型也可被称做哈希表,哈希表的算法是获取键,对键执行一 ...
- 大侦探福老师——幽灵Crash谜踪案
闲鱼Flutter技术的基础设施已基本趋于稳定,就在我们准备松口气的时候,一个Crash却异军突起冲击着我们的稳定性防线!闲鱼技术火速成立侦探小组执行嫌犯侦查行动,经理重重磨难终于在一个隐蔽的角落将其 ...
- HZOJ Weed
作者的题解: 如果一段操作被执行,会对整个栈有什么影响呢? 把栈弹出若干个数后再插入若干个数. 线段树: 每个点纪录三个值:执行完这段操作后会删多少个,再插多少个,插的和一共是多少. 合并值时再用一个 ...
- 突然想起一个有趣的问题:FAT32&NTFS?
在大学的时候老师提过一个有意思的问题4G的程序存储在什么格式以上的电脑? 首先普及一下两种格式的区别 FAT32:此硬盘格式不支持4GB以上大文件,使用32位文件分配表. NTFS:微软最新文件格式, ...
- 行为面试法(STAR)
从过去的行为预测未来,是一种提问技巧. 情景 : Situation 当时怎么了 当时你所在团队主要销售任务是什么目标 : Task 你要干什么 当时你的销售业绩是多少行动 : Action 你都干了 ...
- 30 Cool Open Source Software I Discovered in 2013
30 Cool Open Source Software I Discovered in 2013 #1 Replicant – Fully free Android distribution Rep ...
- Android教程 -08 ToolBar的使用和主题的介绍
ActionBar 简介 视频为本篇播客知识点讲解,建议采用超清模式观看, 欢迎点击订阅我的优酷 讲解ToolBar之前首先需要了解 ActionBar, 两者使用起来基本上一致. Android 3 ...
- css样式书写规范
在工作当中css样式是非常重要的,但是咋样书写css样式更重要. 一.css书写规范 1.定位属性:position display float left top right bottom ...
- SpringBoot2.0--- 多数据源配置
在开发的过程中我们可能都会遇到对接公司其他系统等需求,对于外部的系统可以采用接口对接的方式,对于一个公司开发的两个系统,并且知道相关数据库结构的情况下,就可以考虑使用多数据源来解决这个问题.Spr ...