【图像识别】基于品牌LOGO识别技的货品识别网站
JavaRoom 发布于2021-11 浏览:6714 回复:3
5
收藏

一、背景

该应用是基于百度品牌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(默认)为检索底库+用户子库,这是刚开始我犯的错。

收藏
点赞
5
个赞
共3条回复 最后由192******42回复于2023-10
#4192******42回复于2023-10

0
#3JavaRoom回复于2021-11
#2 kn怪盗基德回复
太强了太强了!!!!

要不要试试,我这有代码。

0
#2kn怪盗基德回复于2021-11

太强了太强了!!!!

0
TOP
切换版块