互联网之无所遁形!

其实一直对电影里面的对犯人进行人脸匹配然后,刷出来犯人信息很感兴趣,今天晚上一时兴起,就搞了一把小的。

理论上:你可以建立一个你感兴趣的百万级的数据库,给你个照片 ,你就可以得到她是谁,哪里的,信息都可以知道,而且因为人与人之间的网状的关联,你甚至可以知道她喜欢的人是谁,男朋友长啥样子。

想信我:一切都不是虚构的,你能做的更多!

思路:

一、数据收集,可以采用爬虫对网上海里的明星信息进行有针对的爬取

二、格式化数据,存入mysq,把明星的自拍照的文件名存入数据库中

三、使用百度的api对程序进行编写,说实话,百度人脸识别做的很棒了,精确度很高

四、你上传一张图片(或者你能想象到的方式),后面的程序会对你海量的数据库中人的信息进行比对

五、输出匹配到的人的信息,和相似度的数值。

直接上代码:

# encoding:utf-8`
import base64
import urllib
import urllib2
import simplejson as json
from  os import listdir
import MySQLdb
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8‘)

def conmysql():
    conn= MySQLdb.connect(
        host=‘localhost‘,
        port = 3306,
        user=‘root‘,
        passwd=‘123456‘,
        db =‘xxnlove‘,
    	charset=‘utf8‘
        )
    #cur = conn.cursor()
    return conn

‘‘‘
人脸比对接口
‘‘‘

def facecompar(image01,image02):
    matchUrl = "https://aip.baidubce.com/rest/2.0/face/v2/match"
    # 二进制方式打开图文件
    f = open(image01, ‘rb‘)
    # 参数images:图像base64编码
    img1 = base64.b64encode(f.read())
    # 二进制方式打开图文件
    f = open(image02, ‘rb‘)
    # 参数images:图像base64编码
    img2 = base64.b64encode(f.read())
    # 参数images:图像base64编码,多张图片半角逗号分隔
    params = {
        "images": img1 + ‘,‘ + img2}
    params = urllib.urlencode(params)
    access_token = ‘24.1a060b87a0dfcab77317999d.25922220.1505832798.282335-10029360‘
    matchUrl = matchUrl + "?access_token=" + access_token
    request = urllib2.Request(url=matchUrl, data=params)
    request.add_header(‘Content-Type‘, ‘application/x-www-form-urlencoded‘)
    response = urllib2.urlopen(request)
    content = response.read()
    if content:
        content = json.loads(content)
        similar=content[‘result‘][0][‘score‘]
        return similar
        #if similar >80:
            #print "两张图片的相似度为"+str(similar)+"   很有可以能是同一个人"
        #    return similar
        #else:
        #    #print "两张图片的相似度为:"+str(content[‘result‘][0][‘score‘])
        #    return similar
def compare():
    similarlist=[]
    similardict={}
    for img in listdir(‘./star/‘):
        similarvalue=facecompar(‘compar.jpg‘,‘./star/‘+img)
        similarlist.append(similarvalue)
        similardict[similarvalue]=img
    return similarlist,similardict

if __name__=="__main__":
    similarlist,similardict=compare()
    similarkey=sorted(similarlist)[-1]
    starname=similardict[similarkey] 
    conn = conmysql()
    cur = conn.cursor()
    sql="select * from face where iamge=‘%s‘" % starname
    cur.execute(sql)
    results = cur.fetchall() 
    print "一共对数据库进行比对了"+str(len(similarlist))+"条信息"
    for info in results:
        print "匹配到明星的信息:"+ info[0],info[1],info[2],"相似度:"+str(similarkey)
    conn.close()

测试图片:

因为她是我高中的时候喜欢过的明星,所以~~~~

明星数据库:

因为只是先把路走通,所以数据很少。

明星的照片所在目录:

明星照片:

程序运行效果:

一共对数据库进行比对了5条信息

匹配到明星的信息:曾轶可 27 1990年1月3日出生于湖南省常德市汉寿县,创作型女歌手,演员。 相似度:63.689125061

需要改进的:

01、数据量太少

02、程序太丑

时间: 2024-08-27 13:56:01

互联网之无所遁形!的相关文章

互联网领袖高峰对话实录:马云李彦宏等激烈碰撞

本文来自: http://tech.sina.com.cn/i/2014-11-20/detail-icesifvw7880253.shtml 视频:马云李彦宏雷军等激辩未来(精华版)(来源:新浪科技) 精华版 http://video.sina.com.cn/p/tech/other/v/2014-11-22/035564280275.html 全程 http://video.sina.com.cn/p/tech/other/v/2014-11-22/134964281959.html 中外互

预见未来—— 互联网大数据应用 商业计划书

内容说明: 本商业计划书是我去年时写的,比较粗浅. 但一文一图都是自己花了时间整理出来的,也是份劳动成果,现分享给大家. 粗陋简文,不当之处,请多指教! 互联网大数据应用商业计划书_v1.3.pdf   pdf版下载地址: http://ebigdata.net/bigdata.pdf 注:未经本人同意,禁止转载:联系作者:程序猿小伍 [email protected] 第1章 背景介绍 1.1. 大数据标签 一分钟内,微博推特上新发的数据量超过10万. 截至2015年6月,我国网民规模达6.6

《互联网时代》 第八集 忧虑

引言 塞纳河,中分巴黎而过,它的右岸凝结着奢华与宏大,它的左岸汇聚了叛逆与思辨.左岸的巴黎第一大学近旁,矗立着一座古希腊风格的圣殿——先贤祠. 永生的烛火灯影里,安眠着七十二位法兰西高贵的灵魂.这些伟人中间,两位先哲占据着最显耀的位置,他们比邻而居,相安无事,共享世荣.他们生前却针锋相对,唇枪舌剑,至死方休. 伏尔泰,鼓吹科技与进步,他锲而不舍地描绘着技术文明的进步带给人类前所未有的快乐和幸福,他宣称启蒙的旗帜是理性,启蒙的基石是进步. 卢梭为后人称为自然之子,终生的信奉却截然相反,他坚定的认为

China Operating System 电脑操作系统 2016全球互联网排名

韩梦飞沙  韩亚飞  [email protected]  yue31313  han_meng_fei_sha 电脑操作系统 China Operating System 2016全球互联网排名 ========

计算机网络(一)——互联网层

计算机网络,顾名思义,是由若干链路组成的,这些链路结点可以是计算机,集线器,交换机或路由器等:网络和网络之间可以通过路由器进行互联,这就是互联网的由来,而因特网就是最大的互联网:网络的存在是将许多计算机连接在一起,而因特网的存在是将许多网络连接在一起:网络的主要功能是让不同的主机之间进行数据的通信,实现大范围的资源共享:计算机之间的数据通信是通过接口来实现的: 因特网的组成部分分为边缘部分和核心部分:边缘部分为网络中的各个主机组成,核心部分是由连接这些网络的路由器组成,为边缘部分的主机提供服务:

杂谈 - 现阶段互联网应用的白话

一晃,一个年头又过去了. 历时,入门互联网行业已然三年之多.从一个 hello word 开始一直磨练至今,宝刀未见锋锐(好像有点飘,程序员不应该这样的...). 如下列举近几年经手或常听说的软件. 企业级应用软件: 1.常规行业软件如OA/ERP/CRM等,模式相对已经成熟,技术层实现模块需求即可,大同小异. 2.特定行业软件如多商户管理系统/物业软件系统/金融类软件系统等,需要特定场合,特定业务无缝衔接,这样才能最大发挥软件产品的作用. 3.教育院校类软件系统,多以学生为主,校园通知或知识分

移动互联网评论NO.1:移动互联网的大时代才刚开始

在2016年11月的第三届乌镇世界互联网大会上,百度李彦宏很令人惊讶的下了这样一个判断:移动互联网时代已经结束.而相应的依据是市场已经进入了一个相对平稳的发展阶段,互联网人口渗透率已经超过了50%.但事实上恰恰相反,正因为互联网人口渗透率已经超过了50%,这说明移动互联网的大时代才刚刚开始. 移动互联网:由量变逼近质变 11月16日,就在第三届乌镇世界互联网大会召开的同时,腾讯发布了2016第三季财报,其中QQ 智能终端月活跃账户达到 6.47 亿.微信和 WeChat 的合并月活跃账户数达到

HTTPS 互联网世界的安全基础

近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是模糊的知道大概是更安全,但到底怎么变得更安全的,实际上整个细节和流程并没有掌握的特别清晰. 所以这篇关于 HTTPS 的技术总结文章,主要提供一个关于 HTTPS 中的 S 一个整体的认识.从其产生的历史背景.设计目标说起,到分析其协议设计结构.交互流程是如何实现其目标.最后结合我们自己的案例分析下

当下大部分互联网创业公司为什么都愿意采用增量模型来做开发

增量模型与螺旋模型类似,都有迭代的过程,因此优点之一也是允许变更需求,通过向用户演示迭代所产生的部分系统功能,可以尽早地收集用户对于系统的反馈,及时改正对于用户需求的理解偏差,从而保证开发出来的系统真正的解决客户的问题,降低业务偏差的风险. 从软件统一开发过程来看,我们把软件开发生命周期划分为四个阶段,先启阶段确定项目开发的目标和范围,精化阶段确定系统架构和明确需求,构建阶段实现剩余的系统功能,产品化阶段完成软件的产品化工作,将系统移交给客户.其每个阶段的结束标志就是一个主要的里程碑,而每个里程