之前编译了一下SeetaFace的库,用于人脸检测、特征点定位和人脸识别的功能,然后昨天就用Qt写了一个软件用于实现。

工程的文件还是比较简单的,一个界面类和一个SeetaFace的线程类而已。这里主要涉及到Qt的多线程,Qt的多线程还是比较好用的,界面就比较简单。就是写单调的条条框框的。现在就先展示下界面和效果吧。

人脸检测

特征点定位

人脸识别:标签和相似分数

尝试下摄像头,角度稍微低头一点也还行,稍微遮一下丑也还勉强OK,所以性能还是蛮OK的,当然我的OK是指我自己觉得不错:

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

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

加载数据有三种源头:图片、视频和摄像头,功能有三个:人脸检测、特征点定位、人脸识别;可实时调整人脸检测的参数、可以提取保存数据库里的图像(也就是暂且叫训练把,其实不对,但还是算啦,自娱自乐,不必那么较真)。

这其中,会涉及到Qt的多线程、文件操作等方面,然后写这个软件,大概是从昨天中午写到晚上12点多吧,中间包括去做其他事,所以如果是熟练的大神的话,估计都不屑于写这样的"小玩具"了吧。然后可能还需要优化,我只是写出来了,感觉速度也还能接受,所以就没去管软件优化问题了。

好了,大概就这样。

囡囡呀你会困惑

慢些脚步别忘了

慢慢的你会明白丢了的是什么

人生路本就是场获得与失的选择

迷路时想想当年阿婆怎么说

It can be a face application using SeetaFace and Qt.的更多相关文章

  1. Qt 程序打包发布

    Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,Qt 官方开发环境里自带了一个工具:windeployqt.exe.在Qt安装目录如:C:\Qt\Qt5.7. ...

  2. 词频统计_输入到文件_update

    /* 输入文件见337.in.txt 输出文件见338.out.txt */ #include <iostream> #include <cctype> #include &l ...

  3. Qt入门1---widget、mainwindow和Dialog区别

    摘要: 看了一个月的Qt,居然没有理清Qt中 ------------------------------------ 1.QMainWindow A main window provides a f ...

  4. Ubuntu 13.10 安装Qt5

    Qt5在Ubuntu的软件中心是找不到的,只能从Qt的官网下载安装. http://qt-project.org/downloads,选择完整的Linux版本(qt-linux-opensource- ...

  5. Web服务器(CassiniDev的裁减版)

    做此程序的原因是将软件部署简化,省去IIS的麻烦部署,减少项目实施人员的工作量和工作复杂度 Server sv = , "/", @"D:\web", IPAd ...

  6. qt 总结

    Qt中的每个类,都有一个对应的同名头文件,其中包含其类定义.例如要使用QApplication类,则需要在程序中添加" #include <QApplication>" ...

  7. LXPanel自定义添加应用程序到快速启动栏

    LXPanel是Linux下LXDE项目的一个桌面面板软件.我一开始接触的时候,对于自己自定义的程序到快速启动栏绕了很多弯路,这里记录下,防止以后自己忘了.还有一点就是很多时候,panel下的应用程序 ...

  8. 【IIS小技巧】将IIS Express改成可以通过ip地址访问

    通过浏览器访问的是localhost,如果通过手机访问则需要用ip地址,所以要修改IIS Express的配置,允许通过ip地址访问. IIS Express的配置文件默认在C:\Users\User ...

  9. 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 ...

随机推荐

  1. 在 Linux 上实现一段时间后自动登出非活动用户

    参考 编辑 ~/.bashrc 或 ~/.bash_profile 文件: $ vi ~/.bashrc 或, $ vi ~/.bash_profile 将下面行加入其中: TMOUT=100 这会让 ...

  2. SpringIOC初始化过程源码跟踪及学习

    Spring版本 4.3.2,ssm框架 代码过宽,可以shift + 鼠标滚轮 左右滑动查看 web.xml <!--配置获取项目的根路径,java类中使用System.getProperty ...

  3. ubuntu 新建用户后 不能使用TAB键、上下键,命令行不显示当前路径的解决

    因默认ubuntu创建的普通帐号,默认shell为/bin/sh,而这不支持tab等键的,所以将「指定用户」帐号的shell改为/bin/bash就可以了. 1.查看当前的shell:# echo $ ...

  4. 将证书添加到受信任的根证书存储失败,出现以下错误:访问控制列表(ACL)结构无效

    问题出现情景: 使用 vs2017 创建一个 ASP.NET Core Web 应用程序 -> Ctrl + F5 运行项目 选择是,但是添加证书失败,是什么原因导致的我不知道,有大佬的知道的话 ...

  5. DCGAN生成目标训练图片

    前言: GAN的原理很简单,但是它有很多变体,如:DCGAN.CycleGAN.DeblurGAN等,它们也被用在不同地方,本文将用到DCGAN来生成头像图片,可以做到以假乱真的地步. 1.首先调用程 ...

  6. python基础数据类型--集合(set)

    python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的 ...

  7. Day 30:HTML和CSS在Java项目中常用语法

    framSet例子,其中的页面链接地址视情况而定,应为我还不知怎么弄当前文件下呢,例子主要在说明该标签如何使用 <!DOCTYPE html PUBLIC "-//W3C//DTD X ...

  8. 关于如何实现一个Saga分布式事务框架的思考

    关于Saga模式的介绍,已经有一篇文章介绍的很清楚了,链接在这里:分布式事务:Saga模式. 关于TCC模式的介绍,也已经有一篇文章介绍的很清楚了,链接在这里:关于如何实现一个TCC分布式事务框架的一 ...

  9. UVA - 536 Tree Recovery (二叉树重建)

    题意:已知先序中序,输出后序. #pragma comment(linker, "/STACK:102400000, 102400000") #include<cstdio& ...

  10. 16.swoole学习笔记--异步事件

    <?php //异步事件 $fp=stream_socket_client(); fwrite($fp,"GET / HTTP/1.1\r\nHost:www.qq.com\r\n\r ...