原谅她吧

前些日子貌似网上火了一个软件原谅宝APP,不过最后作者跑路了,当我想下载时也为时已晚。

我觉得这个创意很有实用性,于是我用python做了一个简单的原谅宝系统(当然和真正的原谅宝差远了,主要是数据来源问题)。。。

其实原谅宝系统就是一个人脸识别系统,主要是作者太强了,能够获得这么多数据,我就不一样了,我就在某网站上爬了一点数据。。。

主要代码来自:基于Python3.7和opencv的人脸识别

首先安装库:

安装后复制代码即可,原理是通过对一个用户的n张图片中人脸的数据进行分析获取一个特征数据,然后再对其他用户数据进行训练,通过图片数据的名称来实现不同用户的分类,如[User.1.1,User.1.2],[User.2.1,User.2.2]

数据来源为某网站的图片,使用爬虫爬取,并在存储时把格式调整为用户分类格式。

经过训练后,通过opencv的人脸识别可以得到如下输出结果:

可以看到图片上显示Sun,这个名字是一个list,这个list是自己定义的,分别对应了训练数据里面的userid,如果你有很多数据,就得定义一个很大的list,反之如果很少就可以手动写入名字,如果数据集合里没有匹配结果就会出现unknown的字样,否则你的头上就会像这个绿框一样绿,会显示你在list中定义的其他名称。

这是我定义的,因为我开始的user0是自己,所以names[0]=sun可以识别出来,之后的数据都用数字表示了,反正只要出来数字就得原谅了。

PS:随便玩玩的系统,准确率不保证,应该会比较低,实用性也不是很好。等以后我的数据多了,可能会好一点。

原文地址:https://www.cnblogs.com/P201521410029/p/11172172.html

时间: 07-11

原谅她吧的相关文章

那些需要被原谅的日子

记得那时候心情不好,总会躲到学校附近一个有个阶梯可以走上去的围墙顶上.那是偶尔经过偶然看见的阶梯.不是很隐蔽,但上去的人并不多,所以很快,我就把它占为己有了. 每次心情不好的阴天,我就自己一个人躲上去.背对着喧闹的马路,面对着一大片安静的江水.有时会有淡淡的阳光落在水面,破碎的闪着刺眼的光.我一坐就是一个下午,即便这样,还是没能将心事遗忘. 每次我躲在那里,每次都会猜想谁会知道我忽然不见的原因谁会在意我,谁会来找我 有一次阴天,没等到阳光出现,而是下雨了.我固执地坐在围墙顶上,没有离开.雨水淋湿

原谅我————这是,我很喜欢的一个故事

原谅我,与你错过 在艾尔文染金的云边. 原谅我,默然退出 那东瘟疫腐败的荒原. 原谅我,固执蜷缩 在诺森德冰冷的长夜. 原谅我,反复重温 那些不肯退却的岁月. 原谅我,请原谅我,始终与你相隔数亿光年,却不肯放弃这思念. 这个故事来自巫妖王还未陨落的时候.那时天灾军团刚刚降临至瘟疫之地,在洛丹伦夏天的战争回响中,有一个组织叫做银色黎明,他们拼命抵抗着天灾,而我们的女主角变来自这里.它是一名牧师,她说她的名字叫lion,狮子的果敢,不知情的人总会诧异,这样一个名字怎么会属于一个女性. 时间迅速流逝,

原谅我是标题党-----centos6.3速度配置Internet网络

在Linux虚拟机下,什么vi到eth0的配置文件,什么setup,都是瞎费事,直接选择nat模式,然后打开/etc/sysconfig/network-scrpits/ifcfg-eth0把ONEBOOT改为yes,然后保存退出,然后运行dhclient,然后就可以上网了: 本人用了一个礼拜弄那些配置文件和setup,企图用桥接和nat模式上网,然后看了DHCP服务器的介绍,所以一下恍然大悟.因为校园网的dhcp服务器可能不能识别虚拟机,所以桥接直接失败,然后VMware里nat模式带有dhc

【Win10】一些零碎不好归档的小总结(原谅我这个该死的标题吧)

一.同步方式获取设备的屏幕分辨率 public static class ScreenResolution { /// <summary> /// 获取屏幕高度. /// </summary> public static int Height { get { var rect = PointerDevice.GetPointerDevices().Last().ScreenRect; var scale = DisplayInformation.GetForCurrentView(

原谅我啥都不懂就好奇, 发现个好玩的东西

String shuru=""; BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in)); System.out.print("请输入内容:"); shuru=stdin.readLine(); System.out.println("你刚才输入的是"+shuru); 直接在输出的控制台上就可以输入内容, 后面用代码再读取出来 还有读取某个位置的文本文档的

今天才发现,自已犯了一个低级的逻辑错误,不可原谅

一个应用提交审核几天了,晚上在斗地主突然弹出提示,审核没有通过:因应用中一个页面显示为空白页. 我当时就晕了,之前测试的时候也有一二个用户跟我反应过,我当时没太注意,因为我这边测试正常. 开始一行一行查代码,找原因,花了差不多一个小时,终于找到原因: 一个低级的逻辑错误. m = 0 n = 1    if m = 0 then     response.write("m 等于 0") else        response.write("m 不等于 0")   

联想X270——正版Win10换win7之BIOS配置及系统安装

笔记本安装系统现在是越来越困难了,最早的万能大法Legacy+IDE+win7纯净版光盘的方法已经越来越不适应. 公司新配了出差笔记本联想X270,不再有可刻录光驱,印象当中ThinkPad必定有Thinkvantage,这代也没用了,标配固态硬盘+机械硬盘可以让系统开机速度达到8秒,Fn的组合键在Win10中也运用的流畅自如,内外双电池的配备使得你即便拔了可拆卸电池也不会关机. 即便是这样,还是得到需求,要求安装成Win 7. 下面分享一下我的安装过程. 我这个版本的X270的CPU是6代i5

自动生成简单四则运算的C语言程序

该程序是在博客园里面找的,具体是谁的找了半天没找到,无法提供它原本的链接.由于自己写的过于简单,且有一些功能暂时无法实现,所以就找了一个来应付作业,望原谅.在这个程序的源码中我改了一个错误的地方,源码中有这样一个随机数发生器的初始化函数的语句:"srand((unsigned)time(NULL))".srand函数是随机数发生器的初始化函数.但是正确的写法应该是:srand(unsigned( time(NULL))):为了防止随机数每次重复,常常使用系统时间来初始化,即使用time

学习笔记之邮件发送篇

用脚本语言发送邮件是系统管理员必备技能 对系统定期检查或者当服务器受到攻击时生成文档和报表. 发布这些文档最快速有效的方法就是发送邮件. python中email模块使得处理邮件变得比较简单 发送邮件主要用到了smtplib和email两个模块,这里首先就两个模块进行一下简单的介绍: 本段摘录于    http://www.cnblogs.com/xiaowuyi/archive/2012/03/17/2404015.html 1.smtplib模块 smtplib.SMTP([host[, p

17-占领记忆,从更新权重开始——小而美的感知机

一个人和另一个人的相遇是很奇妙的.人生若只如初见,Wi全都是0.有的人之间自带化学反应,初次见面就噼里啪啦更新权重,经过激活函数得出--1:看你顺眼:-1:负分滚粗(原谅群主的简单粗暴).所谓权重,深藏于生活的每个细节中.曾经看过一篇文章,说即使关系亲密的人之间也是自带评分表的:今天你做了一件事让我开心,score++:明天你惹到我让我不爽,score--.所以无论和关系多好的人相处我们都需要反省,不断调整自己的行为,且行且珍惜.机器学习也是有温度的,你可以把它看作一个活生生的人,感觉触角多且灵