最近大家都在追看世界杯,博主也是一样,偶尔也贪黑看球,虽然踢得不怎么样,但是热情却很高。依稀记得小学的时候为了攒球星卡吃了无数袋的干脆面,什么巴西罗纳尔多,法国齐达内,各种球星,当然也都是因为热爱足球才含着泪吃进去的。
2018年世界杯主题曲
世界杯球星知多少
回到我们的正题,对于世界杯的球星们,人们知道的一般都是C罗,梅西,德罗巴等巨星,而对一些其它球星却很少了解。对于这些球星,你认识的有多少呢?下面就跟我一起认识一下这些球星,看看你是不是真球迷。
其实,对于一部分球星,博主也给不了答案(伪球迷暴露了),但是博主可以通过 Python来找到答案,实现过程也很简单,就是利用 百度的OCR图像识别接口。
百度云接口设置
首先,我们需要有个百度的账号,然后在百度云登录。登录之后,在左侧工具栏中找到总览,点击总览然后在刷新的页面中找到图像识别服务,最后创建图像识别服务的新应用。
创建成功之后会生成 AppID,API Key,Secret Key 3个ID(后续会用到)。
好了,百度云接口设置完毕。
如何使用Python调用接口?
调用前首先需要安装百度云服务的接口包,使用pip即可:pip install baidu-aip,然后就可以使用Python进行简单的调用了,代码如下:
# 导入百度AI接口包
from aip import AipImageClassify
""" 你的 APPID AK SK """
# 创建应用后获取的3个ID
APP_ID = '你的APP_ID'
API_KEY = '你的API_KEY'
SECRET_KEY = '你的SECRET_KEY'
# 创建客户端
client = AipImageClassify(APP_ID, API_KEY, SECRET_KEY)
""" 读取图片 """
# 读取图片的简单函数
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
image = get_file_content('xxx.jpg')
""" 调用通用物体识别 """
# 调用客户端的图像识别方法,参数是读取的图片
result = client.advancedGeneral(image)
print(result)
你要做的就是填入上面获得的三个ID,然后填入图片路径名称。client客户端类的方法advancedGeneral是通用物体识别的意思,其参数image定义如下:
result结果返回值是一个json类型的数据,其中的字段含义如下:
认识世界杯球星
来一组照片(随机选择),考验铁粉儿的时候到了。
来自百度百科
以第一个球星为例,代码识别后的得到结果如下:
{'log_id': 1650895857955425, 'result_num': 5, 'result': [{'score': 0.951546, 'root': '公众人物', 'keyword': '菲利普·拉姆'}, {'score': 0.629156, 'root': '人物-人物特写', 'keyword': '人物特写'}, {'score': 0.599688, 'root': 'Logo', 'keyword': '阿迪达斯'}, {'score': 0.240324, 'root': '人物-人物特写', 'keyword': '人脸'}, {'score': 0.034023, 'root': '非自然图像-屏幕截图', 'keyword': '屏幕截图'}]}
以第三个球星为例,代码识别后的得到结果如下:
{'log_id': 7786496191656690197, 'result_num': 5, 'result': [{'score': 0.953699, 'root': '公众人物', 'keyword': '贝贝托'}, {'score': 0.652983, 'root': '商品-箱包', 'keyword': '背包'}, {'score': 0.581884, 'root': 'Logo', 'keyword': '耐克'}, {'score': 0.259438, 'root': '人物活动-体育活动', 'keyword': '足球运动'}, {'score': 0.028587, 'root': '商品-箱包', 'keyword': '包'}]}
预测结果非常准确,因为这两个球星博主正好都认识。怎么样,是不是很简单很好玩,如果不认识剩下的3个球星,要不要也来一波玩玩?后台回复 “世界杯球星” 可获得几位球星的图片。
http://ai.baidu.com/docs#/ImageClassify-Python-SDK/top https://baike.baidu.com/