京东

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的更多相关文章

  1. 软件构造实验-百度图像识别api

    识别结果: 识别结果:

  2. 百度地图API简单应用

    在做移动端应用时经常用到百度地图API,百度API有强大的示例和文档,开发之前去百度相关网站注册密钥,很块博主只花了几分钟 百度地图API范例 百度地图API文档说明 例子1:输入特定关键字绘制地图标 ...

  3. 百度地图API开发指南

    简介什么是百度地图API? 百度地图API是一套由JavaScript语言编写的应用程序接口,它能够帮助您在网站中构建功能丰富.交互性强的地图应用.百度地图API包含了构建地图基本功能的各种接口,提供 ...

  4. 百度地图API调用实例之地址标注与位置显示

    之前弄了个谷歌地图API标注的调用实例,后来要求改成百度地图. 感谢主,通过网上资料(百度地图API,百度地图API详解之地图标注)收集及研究, 终于把百度地图标注和显示功能实现出来了,具体实现方法如 ...

  5. (转)百度Map API

    转自  http://blog.sina.com.cn/s/blog_6079f38301013sb3.html 一.与地图操作相关的接口哦! (这些接口的开启都是写在执行成功的回调函数那里) map ...

  6. Android通过百度地图API用Service和Alarm在后台定时获取地理位置信息

    本文主要介绍了Android项目集成百度地图API,使用AlarmManager定时调用Service,在Service中请求坐标更新,并通过坐标得到省.市和县三级地理位置信息的方法. 程序结构很简单 ...

  7. Android应用中使用百度地图API并加入标注(一)

    网上一些资料这样的的内容已经过时了,这里是最新的内容,假设哪里不正确,请吐槽... 1)下载百度地图移动版API(Android)开发包       要在Android应用中使用百度地图API,就须要 ...

  8. 百度 OCR API 的使用以及与 Tesseract 的简单对比

    目录 百度 OCR API 初探 用 Python 调用百度 OCR API 与 Tesseract 的简单对比 百度 OCR API 初探 近日得知百度在其 APIStore 上开放了 OCR 的 ...

  9. 百度地图API开发的快速使用和大量坐标点操作【点聚合,海量点,mapv】

    快速上手 注意:本篇文章代码是基于 百度地图 JavaScript API v3.0 的条件下编写,GL版本可能稍有变化. 地图嘛,很重要的一部分就是坐标经纬度了: 经度: 英文 longitude ...

随机推荐

  1. Navicat Premium Mac 12 破解(亲测可用!!!)

    今天不知怎的,出于强迫症的我就是要强行搞个Navicat Premium Mac 12 破解版本. 历经了种种种种种种磨难与艰辛与火海,终于破解成功了. 因为要经常使用MySQL,使用命令行那是相当的 ...

  2. eclipse 离线安装SVN插件(支持eclipse201909)

      1.情景展示 重装eclipse后,按照网上的在线安装方法,SVN始终安装失败,之前的离线SVN包也不能用. 2.解决方案 SVN离线包下载地址:http://subclipse.tigris.o ...

  3. 解决node fs.writeFile 生成csv 文件乱码问题

    解决node fs.writeFile 生成csv 文件乱码问题: fs.writeFile('xxx.csv', '\ufeff' + 要传入的数据, {encoding: 'utf8'}); \u ...

  4. Java连载8-基本数据类型2

    一.基本数据类型 1.字符串“abc”不属于基本数据类型,属于引用数据类型 2. 基本数据类型   占用空间大小(单位:字节) byte                1 short          ...

  5. AI与数学笔记之深入浅出的讲解傅里叶变换(真正的通俗易懂)

    原文出处: 韩昊    # 作 者:韩 昊 # 知 乎:Heinrich # 微 博:@花生油工人 # 知乎专栏:与时间无关的故事 # 谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张 ...

  6. ASP.NET MVC 中的过滤器

    这里用实例说明各种过滤器的用法,有不对的地方还请大神指出,共同探讨. 1. ActionFilter 方法过滤器: 接口名为 IActionFilter ,在控制器方法调用前/后执行. 在新建的MVC ...

  7. 在.NET Core 3.0 Preview上使用Windows窗体设计器

    支持使用基于Windows窗体应用程序的.NET Core 3.0(预览)的Windows窗体设计器 介绍 截至撰写本文时,Microsoft和社区目前正在测试.NET Core 3.0.如果您在.N ...

  8. 二十:职责链模式详解(类似于spring的hangler处理请求)

    定义:为了避免请求的发送者和接收者之间的耦合关系,使多个接受对象都有机会处理请求.将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止. “看这个定义,就是将一堆可以处理请求的对象连 ...

  9. 【设计模式】Adapter

    前言 Adapter设计模式,允许客户端使用接口不兼容的类. 昨天收拾一些以前的东西,发现了藏在柜子里的一条线,这条线叫做OTG.这条线的一端是micro-usb的输出口,另一端是usb的输入口.这条 ...

  10. npm和cnpm命令后无响应

    问题: 1.把前端环境配制完毕之后,打开项目,输入cnpm install之后,光标一直在另起一行的位置闪,但是丝毫没有在安装的迹象. 2.打开cmd,在窗体中输入node -v 可以显示版本,但是输 ...