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 ...
随机推荐
- sql server 按照字段分组 重新设置组序号
SELECT cpr.Id, cpr.CreateTime, cpr.Number FROM CarParkingRegistration cpr SELECT CONCAT(FORMAT(cpr ...
- Azure EA (2) 使用Postman访问国内Azure Billing API
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 请读者先看一下之前的文档内容:Azure EA (1) 查看国内Az ...
- 有关tab页的
有关tab页的 1.静态的 2.动态的可以删除的 3.删除右侧,左侧,全部,除了自己以外的. 4.多了可以自动伸缩. 5.带shown事件.可以反向影响菜单去.
- 模型的细致程度--Level of Development
模型的细致程度,英文称作Level of Details,也叫作Level of Development.描述了一个BIM模型构件单元从最低级的近似概念化的程度发展到最高级的演示级精度的步骤.美国建筑 ...
- Nginx Cache-Control
转自:https://www.cnblogs.com/sfnz/p/5383647.html HTTP协议的Cache-Control指定请求和响应遵循的缓存机制.在请求消息或响应消息中设置 Cach ...
- idea中的后缀补全
IDEA有个很牛逼的功能,那就是后缀补全(Postfix Completion),这个功能可以通过后缀来使用代码补全进行模板式地补全语句,如遍历循环语句(for.foreach).使用 String. ...
- .net core 3.0中的Json API
在.net core 3.0中,内置了一套新的json api,主要用于去除asp.net core对json.net的依赖,同时也提供了更好的性能(直接处理 UTF-8,而无需转码到 UTF-16) ...
- yield return,yield break
转自, http://www.cnblogs.com/kingcat/archive/2012/07/11/2585943.html yield return 表示在迭代中下一个迭代时返回的数据,除此 ...
- .Net MVC 提示未能加载文件或程序集
最近在开发.Net MVC程序时,突然出现未能加载文件或程序集的错误, 错误1 错误2 猜测时由于引用了Swagger,导致Swagger依赖的组件版本和现有版本冲突(现在仍未确定是这个原因),浪费了 ...
- Xamarin移动开发备忘
vs2017下: 1.debug用于本地生成和调试,release用于发布.区别主要在于: 安卓项目的生成选项属性中,开发者模式release是不勾的,而且高级里的cpu不同(debug是x86,re ...