var https = require('https')
var express = require('express');
var app = express();
var bodyParser = require("body-parser");
var request = require('request')
var fs = require('fs'); // 引入fs模块 //访问端口
var port = 9999 //接受post数据
app.use(bodyParser.json({
"limit": "100mb"
}));
app.use(bodyParser.urlencoded({
limit: '50mb',
extended: true
})); //设置跨域访问
app.all('*', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By", ' 3.2.1')
res.header("Content-Type", "application/json;charset=utf-8");
next();
});
var qs = require('querystring'); const param = qs.stringify({
'grant_type': 'client_credentials',
'client_id': 'XXXXX',
'client_secret': 'XXXXXX'
}); function log(data)
{
fs.writeFile('imgdata.txt', data, {
'flag': 'a'
}, function (err) {
if (err) {
throw err;
} console.log('Hello.'); });
} app.post('/XXXXDetectV1', function (req, res) { var imgdata = req.body.imgdata; //body query
// console.log(imgdata)
imgdata = imgdata.replace("data:image/png;base64,","")
log(imgdata)
https.get({
hostname: 'aip.baidubce.com',
path: '/oauth/2.0/token?' + param,
agent: false
},
function (res2) {
// 在标准输出中查看运行结果
// res2.pipe(process.stdout);
// console.log('statusCode:', res2.statusCode);
// console.log('headers:', res2.headers); res2.on('data', (d) => {
console.log("认证成功")
// console.log('' + d); //将buffer转为字符串或者使用d.toString()
let b = JSON.parse('' + d); //将buffer转成JSON
// console.log(b)
var access_token = b["access_token"]
console.log(access_token)
// res.end(JSON.stringify(b));
data = {
'image': imgdata
} request_url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/detection/XXXXDetectV1" + "?access_token=" + access_token request({
url: request_url,
method: "POST",
json: true,
headers: {
"content-type": "application/json",
},
body: data
}, function (error, response, body) {
console.log(error)
// console.log(response)
// console.log(body)
if (!error && response.statusCode == 200) {
console.log(body) // 请求成功的处理逻辑
res.end(JSON.stringify(body));
}
}); }); }
); }) //启动服务---------------------------------------------------------------------------------------------
var server = app.listen(port, function () { var host = server.address().address
var port = server.address().port console.log("应用实例,访问地址为 http://%s:%s", host, port) })

【AI】图像识别-物体检测-百度AI-EasyDL-NodeJS的更多相关文章

  1. 快速上手百度大脑EasyDL专业版·物体检测模型(附代码)

    作者:才能我浪费991.    简介:1.1.    什么是EasyDL专业版EasyDL专业版是EasyDL在2019年10月下旬全新推出的针对AI初学者或者AI专业工程师的企业用户及开发者推出的A ...

  2. 百度AI之百度图像识别java版本使用

    百度AI之百度图像识别java版本使用\ 官网 http://ai.baidu.com/ 创建应用 查看 appid,appkey,sk 下载sdk https://ai.baidu.com/sdk# ...

  3. 百度AI人脸检测——解析JSON 数据格式

    1.了解一下 通常情况下,每个需要访问网络的应用程序都会有一个自己的服务器,我们可以向服务器提交数据,也可以从服务器上获取数据.不过这个时候就出现了一个问题,这些数据到底要以什么样的格式在网络上传输呢 ...

  4. 了解人工智能?-百度AI

    了解人工智能? 什么是人工智能? 由人创造的"智慧能力",同样具备智慧生物的能力 耳朵=倾听=麦克风=语音识别 ASR Automatic Speech Recognition 嘴 ...

  5. 百度AI开发平台简介

    AIstudio https://aistudio.baidu.com/aistudio/index 关于AI Studio AI Studio是基于百度深度学习平台飞桨的一站式AI开发平台,提供在线 ...

  6. 初探机器学习之使用百度AI服务实现图片识别与相似图片

    一.百度云AI服务 最近在调研一些云服务平台的AI(人工智能)服务,了解了一下阿里云.腾讯云和百度云.其中,百度云提供了图像识别及图像搜索,而且还细分地提供了相似图片这项服务,比较符合我的需求,且百度 ...

  7. 发布AI芯片昆仑和百度大脑3.0、L4自动驾驶巴士量产下线,这是百度All in AI一年后的最新答卷...

    机器之心报道,作者:李泽南. 去年的 7 月 5 日,百度在北京国际会议中心开办了首届「AI 开发者大会」.在会上,百度首次喊出了「All in AI」的口号.一年的时间过去了,今天在同样地点举行的第 ...

  8. 百度AI开放平台- API实战调用

    百度AI开放平台- API实战调用 一.      前言 首先说一下项目需求. 两个用户,分别上传了两段不同的文字,要计算两段文字相似度有多少,匹配数据库中的符合条件的数据,初步估计列出来会有60-1 ...

  9. 百度AI技术QQ群

    百度语音QQ群 648968704 视频分析QQ群 632473158 DuerOSQQ群 604592023 图像识别QQ群 649285136 文字识别QQ群 631977213 理解与交互技术U ...

随机推荐

  1. LeetCode practice

    子集和问题:给定一组数和一个值,从这组数中选出若干个数使其和为给定的值.这是个NPC问题. 1.https://leetcode.com/problems/counting-bits/#/soluti ...

  2. 锐捷 Fat/Fit Ap切换

    工作中要使用锐捷的AP和AC进行组网.记录一下RG-AP220-E配置成瘦AP的方法. 使用console口连接,baudrate rate: 9600, 8n1 瘦AP:console密码是ruij ...

  3. Python中的高级turtle(海龟)作图

    在Python里,海龟不仅可以画简单的黑线,还可以用它画更复杂的几何图形,用不同的颜色,甚至还可以给形状填色. 一.从基本的正方形开始 引入turtle模块并创建Pen对象: >>> ...

  4. Java如何使用线程解决死锁?

    在Java编程中,如何使用线程解决死锁? 以下示例演示如何使用线程的概念解决死锁问题. // from W w w .Y I I b AI.c o M package com.yiibai; impo ...

  5. e834. 设置JTabbedPane中卡片的位置

    The tabs of a tabbed pane can be placed on one of the four edges of its container. By default, when ...

  6. C#跳转网页7种方法

    1.Response.Redirect(http://www.baidu.com,false); 目标页面和原页面可以在2个服务器上,可输入网址或相对路径.后面的bool值为是否停止执行当前页. 跳转 ...

  7. vue项目中使用md5.js及base64.js

    一.在项目根目录下安装 npm install --save js-base64 npm install --save js-md5 二.在项目文件中引入 import md5 from 'js-md ...

  8. SOFA企业应用框架

    前言 从业这么多年,接触过银行的应用,Apple的应用,eBay的应用和现在阿里的应用,虽然分属于不同的公司,使用了不同的架构,但有一个共同点就是都很复杂.导致复杂性的原因有很多,如果从架构的层面看, ...

  9. iOS:当点击 FormSheet 之外时,关闭该视图

    @interface XXViewController (){ @property (strong, nonatomic) UITapGestureRecognizer *tapGesture; - ...

  10. 浅谈你感兴趣的 CLR GC 机制底层

    本文内容是学习CLR.via C#的21章后个人整理,有不足之处欢迎指导. 昨天是1024,coder的节日,我为自己coder之路定下一句准则--保持学习,保持自信,保持谦逊,保持分享,越走越远. ...