一、背景
该应用是基于百度品牌LOGO识别技术的flask框架的WEB应用。根据拍摄照片,识别图片中商品logo名称,为消费者提供轻松高效的信息获取体验,促进消费者向投资者转化,适用于需要快速获取品牌信息的业务场景。
二、技术方案简介
该网站主要基于百度品牌LOGO识别技术,通过调用云端LOGO识别API,自动识别所拍摄商品logo名称。
百度品牌logo识别地址:
https://ai.baidu.com/tech/imagerecognition/logo
通过自带的库可以识别超过2万类商品logo;也支持创建自定义品牌logo图库,可准确识别图片中品牌logo的名称,适用于需要快速获取品牌信息的业务场景。
三、具体实现的步骤
第一步:申请LOGO识别免费调用额度
打开https://ai.baidu.com/tech/imagerecognition/logo,点立即使用,即可申请免费调用额度
第二步:获取Access Token
参考地址:
https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu
打开该网址即可参看帮助文档,下面是我使用的python调用方法。
# encoding:utf-8
import requests
# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官网获取的AK】&client_secret=【官网获取的SK】'
response = requests.get(host)
if response:
print(response.json())
第三步:使用flask搭建WEB应用
通过下面库,加速web开发,flask如何用就不讲了,bootstrap老牌前端,也不讲了。
Pip install flask
Pip install flask_bootstrap
通过flask搭建web应用,实现图片上传功能
第四步:调用LOGO识别api
帮助url:
https://ai.baidu.com/ai-doc/IMAGERECOGNITION/Ok3bcxc59
# encoding:utf-8
import requests
import base64
'''
logo商标识别
'''
request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v2/logo"
# 二进制方式打开图片文件
f = open('[本地文件]', 'rb')
img = base64.b64encode(f.read())
params = {"custom_lib":"true","image":img}
access_token = '[调用鉴权接口获取的token]'
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
if response:
print (response.json())
四、实现的效果
下面就可以试试了,如下图所示。
五、总结
在实现中,调用了logo识别-检索接口,该接口稳定可靠。
请求URL: https://aip.baidubce.com/rest/2.0/image-classify/v2/logo
注意事项:
需要注意的是参数custom_lib,该值为bool值, true则只检索用户子库,false(默认)为检索底库+用户子库,这是刚开始我犯的错。
要不要试试,我这有代码。
太强了太强了!!!!