【语音/图像识别】手把手教你实现logo识别
kn怪盗基德 发布于2021-11 浏览:7424 回复:0
0
收藏
最后编辑于2022-04

你还在为不认识商标烦恼嘛?

你还在为雪碧、雷碧傻傻分不清而困苦嘛?

不要急!

让我来帮你!

 

1、我们的图像识别功能!能做什么?

精准识别超过十万种物体和场景,包含10余项高精度的识图能力并提供相应的API服务,充分满足各类开发者和企业用户的应用需求

可以实现对动植物,果蔬菜品,红酒,logo,货币地址等等的物体场景进行识别,功能不可谓不多啊~~~

 

接下来有请我们今天的主角!

logo识别

 

1.1 logo识别

识别超过2万类商品logo,支持创建自定义品牌logo图库,可准确识别图片中品牌logo的名称,适用于需要快速获取品牌信息的业务场景

哇嗷~

识别超过2万类商品logo,可准确识别图片中品牌logo的名称和所在图片中的位置!!!

还可以获得位置!!!这也太贴心了吧~~~

 

快速创建专属品牌logo图库,通过调用入库接口上传图片,支持海量图片入库

还可以自定义!哇哇哇!!!我心动了,不行我要行动起来!!!

 

2、怎么样才能够实现呢?哦~~~~

我们先开通环境,然后再对内容进行实现,通过API文档的调用实现我们的功能

 

3、手把手带大家实现!

我们先找到识别地址:  https://ai.baidu.com/tech/imagerecognition/logo

点击我们的立即使用!(前提是已经注册登入了哦~~~)

 

来到了我们管理界面

来到已经建立应用,创建应该(上面的框框标错了……)

 

然后到数据填写阶段

 

新建成功!

 

获得了API key 和 Secret Key  

求access_token

 

使用python实现

# 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())

 

{
  "refresh_token": "25.b55fe1d287227ca97aab219bb249b8ab.315360000.1798284651.282335-8574074",
  "expires_in": 2592000,
  "scope": "public wise_adapt",
  "session_key": "9mzdDZXu3dENdFZQurfg0Vz8slgSgvvOAUebNFzyzcpQ5EnbxbF+hfG9DQkpUVQdh4p6HbQcAiz5RmuBAja1JJGgIdJI",
  "access_token": "24.6c5e1ff107f0e8bcef8c46d3424a0e78.2592000.1485516651.282335-8574074",
  "session_secret": "dfac94a3489fe9fca7c3221cbf7525ff"
}

我们可以通过调用获得access_token的值

access_token = response.json()["access_token"]

获得access_token值以后我们就可以肆无忌惮的开始使用了

查看文档: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 = {"image":img}
access_token = '[调用鉴权接口获取的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())

 

我们只要把图片和上面获得的access_token进行添加即可。

通过调用我们就可以获得有有关的数据

 

4、对下面的图片进行测试查看使用效果

获得数据为:

[{'name': '百度', 'type': 1, 'probability': 0.90238987881204, 'location': {'height': 35, 'top': 10, 'left': 61, 'width': 38}}, 
{'name': '百度', 'type': 0, 'probability': 0.86804446123414, 'location': {'height': 35, 'top': 10, 'left': 61, 'width': 38}}, 
{'name': '圣大阳光', 'type': 1, 'probability': 0.30416201678189, 'location': {'height': 23, 'top': 23, 'left': 82, 'width': 56}}, 
{'name': '恒大', 'type': 0, 'probability': 0.58853826963833, 'location': {'height': 21, 'top': 24, 'left': 92, 'width': 30}}, 
{'name': '拜尔', 'type': 1, 'probability': 0.256034608682, 'location': {'height': 22, 'top': 23, 'left': 28, 'width': 42}}, 
{'name': '王开摄影', 'type': 1, 'probability': 0.19496629012487, 'location': {'height': 23, 'top': 23, 'left': 171, 'width': 68}}, 
{'name': '金大田', 'type': 1, 'probability': 0.19475182214648, 'location': {'height': 21, 'top': 24, 'left': 92, 'width': 30}} 

 

我们可以通过资信值来获取内容

print(response.json()["result"][0]["name"])

 这里简单粗暴了应该加一个判断才行的【狗头】

 

5、这个logo识别怎么样?

 

简单的说很棒,使用很方便,特别的舒服!!!

 

我只使用了python的调用,还有其他的很多的方案,大家都可以进行尝试哦!~~~~

 

由于技术有限,没有加上前端什么的有点小废物~~~

 

等下一次!!!

 

冲冲冲!!!

收藏
点赞
0
个赞
TOP
切换版块