開發與維運

使用SAP Cloud Platform Leonardo机器学习提取图片的特征向量

这个机器学习服务的文档:https://help.sap.com/viewer/b04a8fe9c04745b98ad8652ccd5d636f/1907B/en-US/d6fee2fd184d48d5b221928a8db4c2fd.html?q=Customizable%20Image%20Feature%20Extraction

测试控制台:

clipboard1,1
clipboard2,2

输入是任意一个图片文件,
输出是一串特征矩阵,如下图所示:

clipboard3,3

完整代码:

var app = require('express')();
var server = require('http').Server(app);
var request = require('request');
var defaultPort = 8081;
const fs = require('fs');
var port = process.env.PORT || defaultPort;

console.log("Server listens on port: " + port);
server.listen(port);

function print_env(){
  console.log(process.env);
}

app.get('/', function (req, res) {

  res.header("Access-Control-Allow-Origin", "*");
  var response = "Hello World: " + port;

  callFeatureExtractionAPI();
  res.send(response);
});

app.get('/env', function (req, res) {

  print_env();
  // res.sendFile(__dirname + '/index.html');
  var response = JSON.stringify(process.env);
  res.send(response);
});

function callFeatureExtractionAPI() {

  var url = "https://mlfproduction-image-feature-extractor.cfapps.eu10.hana.ondemand.com/api/v2/image/feature-extraction";
  var api = "eyKXPuZf__ANtBqpk";
  var oRequestOptions = {
        url: url,
        method: "POST",
        json:true,
        formData: {
          files: fs.createReadStream("./1.png")
        },
        headers: {
            "Authorization": "Bearer " + api
        }
  };

  return new Promise(function(resolve,reject){
      var requestC = request.defaults({jar: true});
      console.log("Step1: get picture feature via url: " + url );

      requestC(oRequestOptions,function(error,response,body){
        if(error){
          console.log("error occurred: " + error);
          reject(error);
        }
        debugger;

        console.log("Body:" + body);
        console.log("response: " + response);
        resolve(body);
      }); 
     });
}

本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。

Leave a Reply

Your email address will not be published. Required fields are marked *