京东

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. 【VS开发】COM组件技术概述

    这篇文章对COM做出来比较完整的解释,非常好. COM是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术.在COM构架下,人们可以开发出各种各样功能专一的组件,然后将它 ...

  2. macbook pro更换键盘的排线

    以下是拆机图解 很简单的 有点动手能力的都可以更换 另外附加淘宝上的链接 https://item.taobao.com/item.htm?spm=a1z09.2.0.0.68a12e8dYAiQIx ...

  3. SpringBoot整合log4j2导入新的依赖出现jar冲突解决

    1.问题复现: 之前在SpringBoot中配置整合了log4j2,今天在pom文件中,导入新的依赖(依赖如下)之后, <dependency> <groupId>com.gi ...

  4. 如何让 C# 在运行时自动选择合适的重载方法?

    如题:假设我们有一段代码: static void Main(string[] args) { ; // 假设这里的 obj 的值来自于外部方法 PrintType(obj); } public st ...

  5. springboot只能一个main方法解决办法

    pom.xml修改properties,增加这行 <start-class>com.eshore.main.SpringBootStarter</start-class> 或者 ...

  6. 论文笔记 Stacked Hourglass Networks for Human Pose Estimation

     Stacked Hourglass Networks for Human Pose Estimation key words:人体姿态估计 Human Pose Estimation 给定单张RGB ...

  7. 【机器学习】PCA

    目录 PCA 1. PCA最大可分性的思想 2. 基变换(线性变换) 3. 方差 4. 协方差 5. 协方差矩阵 6. 协方差矩阵对角化 7. PCA算法流程 8. PCA算法总结 PCA PCA 就 ...

  8. Scrapy 运行多个爬虫

    本文所使用的 Scrapy 版本:Scrapy==1.8.0 一个 Scrapy 项目下可能会有多个爬虫,本文陈述两种情况: 多个爬虫 所有爬虫 显然,这两种情况并不一定是等同的.假设当前项目下有 3 ...

  9. JPA使用Specification构建动态查询

    封装Specification查询条件,在Spring Data JPA 2.0以前使用 Specifications 这个辅助类来操作where.not.and和or连接,在2.0版本以后这个类会被 ...

  10. Electron使用时拦截HTTP请求的解决方案

    背景 最近在做一个Web和Electron共用一份代码的工程,由于使用到了第三方的库(我们是在线地图),该库的认证方式是请求时加key,并且它在后台会校验referer. 于是问题就来了,Electr ...