NeuHub图像垃圾分类api和百度图像识别api
京东
NeuHub图像垃圾分类申请:http://neuhub.jd.com/gwtest/init/242
文档:https://aidoc.jd.com/image/garbageClassification.html
import base64
import wx_sdk #我是将wx_sdk.py移同当前文件夹了
import json url = 'https://aiapi.jd.com/jdai/garbageImageSearch'
f = open('nfsq.jpg', 'rb')
#转成base64
image_base64 = str(base64.b64encode(f.read()), encoding='utf-8')
#自己xjb并凑的
bodys = "{\"cityId\"" + ':' + "\"310000\"" + ", " + "\"imgBase64\"" + ':' + "\"" + image_base64 + "\"" "}"
#bodyStr = '{ "cityId":"310000", "imgBase64":"image_base64"}' params = {
'appkey' : '你的appkey',
'secretkey' : '你的secretkey'}
response = wx_sdk.wx_post_req(url, params, bodyStr=bodys)
#print(response.text) #将json格式转成字典
result = json.loads(response.text)
#输出自己想要的一些信息
for key in result["result"]["garbage_info"]:
if(key["confidence"] > 0.5): #只输出置信度超过0.5的,官方建议为0.7
print(key["cate_name"], key["confidence"], key["garbage_name"])
百度
百度图像识别api :https://ai.baidu.com/docs#/ImageClassify-API/ebc492b1
1. 安装百度api
pip3 install baidu-aip
2. 代码
from aip import AipImageClassify """ 你的 APPID AK SK """
APP_ID = '你的APP_ID'
API_KEY = '你的APP_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('nfsq.jpg') #返回百科信息的结果数,默认为0,不返回;2为返回前2个结果的百科信息,以此类推。
options = {}
options["baike_num"] = 5 """ 带参数调用通用物体识别 """
result = client.advancedGeneral(image, options)
# print(result)
result_num = result['result_num']
for i in range(0, result_num):
print(result['result'][i]['keyword'])
另一种使用api的方式是使用access_token
//检测图像中的主体位置,通用物体和场景识别的高级版是收费的?
1. 获取access_token
from urllib import request
import ssl
import json
gcontext = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_' \
'type=client_credentials&client_id=你的AK&client_secret=你的SKreq = request.Request(host)
response = request.urlopen(req, context=gcontext).read().decode('UTF-8')
result = json.loads(response)
if (result):
print(result['access_token'])
2. 将图片用base64编码
import base64
f = open('tiger.jpg', 'rb')
img = base64.b64encode(f.read())
print(img)
3. 调用api
import requests
import base64
host = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/object_detect'
headers={
'Content-Type':'application/x-www-form-urlencoded'
}
access_token= 'xxx' #步骤1中获得的token
host=host+'?access_token='+access_token f = open('destop.jpg', 'rb')
img = base64.b64encode(f.read())
# print(img) data={}
data['access_token']=access_token
data['image'] =img
res = requests.post(url=host,headers=headers,data=data)
req=res.json()
print(req['result'])
参考链接:
1. https://blog.csdn.net/cool_bot/article/details/90465167
2. https://blog.csdn.net/qq_40484582/article/details/82054009
NeuHub图像垃圾分类api和百度图像识别api的更多相关文章
- 软件构造实验-百度图像识别api
识别结果: 识别结果:
- 百度地图API简单应用
在做移动端应用时经常用到百度地图API,百度API有强大的示例和文档,开发之前去百度相关网站注册密钥,很块博主只花了几分钟 百度地图API范例 百度地图API文档说明 例子1:输入特定关键字绘制地图标 ...
- 百度地图API开发指南
简介什么是百度地图API? 百度地图API是一套由JavaScript语言编写的应用程序接口,它能够帮助您在网站中构建功能丰富.交互性强的地图应用.百度地图API包含了构建地图基本功能的各种接口,提供 ...
- 百度地图API调用实例之地址标注与位置显示
之前弄了个谷歌地图API标注的调用实例,后来要求改成百度地图. 感谢主,通过网上资料(百度地图API,百度地图API详解之地图标注)收集及研究, 终于把百度地图标注和显示功能实现出来了,具体实现方法如 ...
- (转)百度Map API
转自 http://blog.sina.com.cn/s/blog_6079f38301013sb3.html 一.与地图操作相关的接口哦! (这些接口的开启都是写在执行成功的回调函数那里) map ...
- Android通过百度地图API用Service和Alarm在后台定时获取地理位置信息
本文主要介绍了Android项目集成百度地图API,使用AlarmManager定时调用Service,在Service中请求坐标更新,并通过坐标得到省.市和县三级地理位置信息的方法. 程序结构很简单 ...
- Android应用中使用百度地图API并加入标注(一)
网上一些资料这样的的内容已经过时了,这里是最新的内容,假设哪里不正确,请吐槽... 1)下载百度地图移动版API(Android)开发包 要在Android应用中使用百度地图API,就须要 ...
- 百度 OCR API 的使用以及与 Tesseract 的简单对比
目录 百度 OCR API 初探 用 Python 调用百度 OCR API 与 Tesseract 的简单对比 百度 OCR API 初探 近日得知百度在其 APIStore 上开放了 OCR 的 ...
- 百度地图API开发的快速使用和大量坐标点操作【点聚合,海量点,mapv】
快速上手 注意:本篇文章代码是基于 百度地图 JavaScript API v3.0 的条件下编写,GL版本可能稍有变化. 地图嘛,很重要的一部分就是坐标经纬度了: 经度: 英文 longitude ...
随机推荐
- 题解 P2719 【搞笑世界杯】
其实懂了之后很简单,但是刚开始真的很难想.. d[a][b]表示剩a张A类票和b张B类票时,最后两张票相同的概率 那么此时的排队的第一个人只有两种选择 拿A类票或者B类票 抛硬币得到的可能性当然是二分 ...
- H5视频、音频不能自动播放,Uncaught (in promise) DOMException: play() failed because the user didn't
错误原因:Chrome的autoplay政策在2018年4月做了更改. 解决办法: 第一步,在chrome浏览器中输入:chrome://flags/#autoplay-policy 第二步,在Aut ...
- Kavex GameDev-Resources
https://github.com/Kavex/GameDev-Resources 各种资源
- SUDO_KILLER可以帮助你识别并利用错误的Sudo规则与配置
工具概述 SUDO_KILLER这款工具可以帮助我们通过多种渠道利用SUDO来在Linux环境下实现提权.该工具能够识别目标操作系统版本,并发现环境中sudo规则的错误配置.安全漏洞,以及不安全的代码 ...
- LeetCode 430:扁平化多级双向链表 Flatten a Multilevel Doubly Linked List
您将获得一个双向链表,除了下一个和前一个指针之外,它还有一个子指针,可能指向单独的双向链表.这些子列表可能有一个或多个自己的子项,依此类推,生成多级数据结构,如下面的示例所示. 扁平化列表,使所有结点 ...
- HTML+css基础 css选择器 选择器的权重
css选择器 选择器的权重 在css中,哪个选择器的权重高,就走谁的样式 标签选择器的权重是1 class选择器的权重是10 Id选择器的权重是100 行间样式的权重是1000 带有关键字 !imp ...
- Lambda 表达式构建初级示例(不完整)
直接贴代码了: using System; using System.Collections.Generic; using System.Linq; using System.Linq.Express ...
- WinForm 程序在系统托盘显示
前言 有些程序在关闭或最小化的时候会隐藏在系统托盘中,双击或右击会重新显示,winform实现其功能很简单,这边就简单的介绍下. 实现 在winform实现托盘使用notifyIcon控件,如果加菜单 ...
- kafka中消费者消费消息之每个线程维护一个KafkaConsumer实例
1.首先启动自己的kafka集群哟. 启动zk: bin/zkServer.sh start conf/zoo.cfg. 验证zk是否启动成功: bin/zkServer.sh status conf ...
- CSS3制作文字背景图
文字带上渐变色,或者说让文字透出图片.这些效果 CSS 属性也可以完成. 方法一.利用CSS3属性mix-blend-mode:lighten;实现 使用 mix-blend-mode 能够轻易实现, ...