It can be a face application using SeetaFace and Qt.
之前编译了一下SeetaFace的库,用于人脸检测、特征点定位和人脸识别的功能,然后昨天就用Qt写了一个软件用于实现。
工程的文件还是比较简单的,一个界面类和一个SeetaFace的线程类而已。这里主要涉及到Qt的多线程,Qt的多线程还是比较好用的,界面就比较简单。就是写单调的条条框框的。现在就先展示下界面和效果吧。

人脸检测

特征点定位

人脸识别:标签和相似分数
尝试下摄像头,角度稍微低头一点也还行,稍微遮一下丑也还勉强OK,所以性能还是蛮OK的,当然我的OK是指我自己觉得不错:


然后找一张小一点的人脸:

OK,软件的功能大概如下:

加载数据有三种源头:图片、视频和摄像头,功能有三个:人脸检测、特征点定位、人脸识别;可实时调整人脸检测的参数、可以提取保存数据库里的图像(也就是暂且叫训练把,其实不对,但还是算啦,自娱自乐,不必那么较真)。
这其中,会涉及到Qt的多线程、文件操作等方面,然后写这个软件,大概是从昨天中午写到晚上12点多吧,中间包括去做其他事,所以如果是熟练的大神的话,估计都不屑于写这样的"小玩具"了吧。然后可能还需要优化,我只是写出来了,感觉速度也还能接受,所以就没去管软件优化问题了。
好了,大概就这样。
囡囡呀你会困惑
慢些脚步别忘了
慢慢的你会明白丢了的是什么
人生路本就是场获得与失的选择
迷路时想想当年阿婆怎么说
It can be a face application using SeetaFace and Qt.的更多相关文章
- Qt 程序打包发布
Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,Qt 官方开发环境里自带了一个工具:windeployqt.exe.在Qt安装目录如:C:\Qt\Qt5.7. ...
- 词频统计_输入到文件_update
/* 输入文件见337.in.txt 输出文件见338.out.txt */ #include <iostream> #include <cctype> #include &l ...
- Qt入门1---widget、mainwindow和Dialog区别
摘要: 看了一个月的Qt,居然没有理清Qt中 ------------------------------------ 1.QMainWindow A main window provides a f ...
- Ubuntu 13.10 安装Qt5
Qt5在Ubuntu的软件中心是找不到的,只能从Qt的官网下载安装. http://qt-project.org/downloads,选择完整的Linux版本(qt-linux-opensource- ...
- Web服务器(CassiniDev的裁减版)
做此程序的原因是将软件部署简化,省去IIS的麻烦部署,减少项目实施人员的工作量和工作复杂度 Server sv = , "/", @"D:\web", IPAd ...
- qt 总结
Qt中的每个类,都有一个对应的同名头文件,其中包含其类定义.例如要使用QApplication类,则需要在程序中添加" #include <QApplication>" ...
- LXPanel自定义添加应用程序到快速启动栏
LXPanel是Linux下LXDE项目的一个桌面面板软件.我一开始接触的时候,对于自己自定义的程序到快速启动栏绕了很多弯路,这里记录下,防止以后自己忘了.还有一点就是很多时候,panel下的应用程序 ...
- 【IIS小技巧】将IIS Express改成可以通过ip地址访问
通过浏览器访问的是localhost,如果通过手机访问则需要用ip地址,所以要修改IIS Express的配置,允许通过ip地址访问. IIS Express的配置文件默认在C:\Users\User ...
- Using Qt to build an Omi App for iOS (and Android)
JUNE 6, 2014 / HHARTZ Working on projects where the technology is pre-determined, it's often difficu ...
随机推荐
- 安装ruby的一些坑
之前一直下载不下来.是因为需要翻墙.
- 011、MySQL取14天前Unix时间戳
#取14天前时间戳 SELECT unix_timestamp( DATE_SUB( curdate( ), INTERVAL DAY ) ); 效果如下: 不忘初心,如果您认为这篇文章有价值,认同作 ...
- SQL计算字符串里的子字符串出现个数
在某个页面,需要显示每条记录中有几个图片文件.图片文件名列表存储在mysql表里的photo_files字段,文件名之间用一个空格分开.类似'images\rpt201503121.jpg image ...
- Delphi另一个多线程函数:BeginThread用法
Delphi另一个多线程函数:BeginThread━━━━━━━━━━━━━━━━━━━━━━━━━━ Delphi也提供了一个相同功能的类似函数:function BeginThread( ...
- Django(七)模型:字段属性、字段选项(参数)
一.模型类属性命名限制 参考:https://docs.djangoproject.com/zh-hans/3.0/topics/db/models/ 1)不能是python的保留关键字. 2)不允许 ...
- 小程序中的web-view与h5网页之间的交互
官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html web-view 基础库 1.6.4 开始支 ...
- tomcat端口号被占用,且杀进程不能够杀掉解决办法
在电脑上安装了zookeeper以后,配置好tomcat启动发现端口号8009端口号被占用,报错如下: 采用netstat –ano 查询所有进程查看或者根据端口号查进程netstat -ano |f ...
- cf 762C. Two strings
因为要删去1个串(读错题),所以就直接二分搞就好了. 需要预处理出2个分别从头到尾,或从尾到头需要多长a串的数组,然后二分删去多长就好了. #include<bits/stdc++.h> ...
- 045-利用反射机制,简单的实现PHP插件模式
<?php //利用反射机制,简单的实现PHP插件模式 # 假设,我们有一款开源产品,所有开发者都必须在我定制的需求之上,进行二次开发, # 而开发完成后的新模块,就是一个不一样的新插件,可以放 ...
- 怎么在一个servlet中实现多个功能 ?如何使一个Servlet处理多个请求?
自学javaweb一直不知道一个servelt可以有多个功能!看了别人代码才知道这个可以有! 平时你建立servelt时候你会吧doget和dopost这两个勾上,要想实现多个功能,你不必要勾选dog ...