python实现明星专家系统:人脸识别自动比对

本文介绍了如何使用Python结合百度API实现人脸识别系统,通过爬虫收集明星信息,将数据存储到MySQL,然后进行照片比对,输出匹配的明星信息和相似度。
摘要由CSDN通过智能技术生成

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

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

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

思路:

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

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

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

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

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

直接上代码:

# 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:
        #    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值