【Java示例代码】调用EasyDL离线SDK
756665228 发布于2019-05-08 浏览:9837 回复:22
4
收藏
最后编辑于2021-07-29

EasyDL离线SDK在本地启动后。会开启一个http协议接口。本文以Windows-SDK为主

默认端口为24401.官方只给了Python示例代码。

小帅就来分享一下Java示例代码哦

EasyDL登录并选择具体服务

下载Windows离线SDK

解压并输入序列号启动服务

序列号获取

复制任意一个。中间的-符号不要丢失哦

启动EasyEdge.exe

输入序列号。启动即可。根据电脑配置不同启动时长有所不同

使用Java语言调用该服务接口

import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;    
    /**
     * 适用于百度EasyDL 离线SDK服务请求
     * @author 小帅丶
     * @date 2019/5/8
     * @param  reqUrl 接口地址
     * @param fileUrl 本地图片路径
     * @return java.lang.String
     **/
    private static String doPostFile(String reqUrl, String fileUrl) {
        HttpURLConnection url_con = null;
        String responseContent = null;
        try {
            URL url = new URL(reqUrl);
            url_con = (HttpURLConnection) url.openConnection();
            url_con.setRequestMethod("POST");
            url_con.setDoOutput(true);
            url_con.setRequestProperty("Content-type", "application/x-java-serialized-object");
            byte[] data = Util.readFileByBytes(fileUrl);
            url_con.getOutputStream().write(data, 0, data.length);
            url_con.getOutputStream().flush();
            url_con.getOutputStream().close();

            InputStream in = url_con.getInputStream();

            BufferedReader rd = new BufferedReader(new InputStreamReader(in, "UTF-8"));
            String tempLine = rd.readLine();
            StringBuffer tempStr = new StringBuffer();
            String crlf = System.getProperty("line.separator");
            while (tempLine != null) {
                tempStr.append(tempLine);
                tempStr.append(crlf);
                tempLine = rd.readLine();
            }
            responseContent = tempStr.toString();
            rd.close();
            in.close();
        } catch (IOException e) {
            System.out.println("请求错信息:"+e.getMessage());
        } finally {
            if (url_con != null) {
                url_con.disconnect();
            }
        }
        return responseContent;
    }

The End~

收藏
点赞
4
个赞
共22条回复 最后由JavaRoom回复于2021-07-29
#12131******78回复于2020-05-02
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Net;
using System.Net.Http;


namespace CSharp图像调用//首先手动启动easy edge,等到服务启动后再执行代码。
{
    class Program
    {
        static void Main(string[] args)
        {
            FileStream fs = new FileStream("./13.jpg", FileMode.Open);//图片的名称,这里我的图片名称为13.jpg。首先先不要改图片名称进行调试已确定图片的存放位置,然后将图片翻入路径中并修改代码。
            BinaryReader br = new BinaryReader(fs);
            byte[] img = br.ReadBytes((int)fs.Length);
            br.Close();
            fs.Close();
            string url = "http://127.0.0.1:24401?threshold=0.1";//访问的端口
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
            request.Method = "POST";
            Stream stream = request.GetRequestStream();
            stream.Write(img, 0, img.Length);
            stream.Close();

            WebResponse response = request.GetResponse();
            StreamReader sr = new StreamReader(response.GetResponseStream());
            Console.WriteLine(sr.ReadToEnd());//这里是输出的结果(返回值),包括所花费的时间(单位是毫秒),每一个label的置信度。
            Console.ReadKey();//按任意键结束
            sr.Close();
            response.Close();
        }
    }
}
1
#23JavaRoom回复于2021-07-29

java的秀啊

0
#22756665228回复于2021-06-02
#21 homewzx84回复
我有C++的版本。MFC测试没问题的。

可以分享到社区哦~

1
#21homewzx84回复于2021-06-02

我有C++的版本。MFC测试没问题的。

0
#20756665228回复于2021-03-21
#19 会发光的阿豪回复
你这个有错误,Util应该用的是百度的FileUtil

这个读取本地路径文件转byte[] 工具类很多的。看自己了解了。不了解那就用百度提供的就行。

0
#19会发光的阿豪回复于2021-03-21

你这个有错误,Util应该用的是百度的FileUtil

1
#18爱神冰封001回复于2020-11-23

你好,这个Java建什么样的工程文件

0
#17756665228回复于2020-08-10
#16 悄悄接吧你信吗回复
有关于NVIDIA JETSON AGX XAVIER的安装依赖吗

建议把你的问题描述清楚咨询一下百度官方吧

1
#16悄悄接吧你信吗回复于2020-08-10

有关于NVIDIA JETSON AGX XAVIER的安装依赖吗

0
#15756665228回复于2020-07-19
#14 潦夜之冬回复
跪求c++的

不会cpp呀。

0
#14潦夜之冬回复于2020-07-18

跪求c++的

1
#13131******78回复于2020-05-02

这个是一个C#调用的demo,希望大家多多指教

0
#11131******78回复于2020-05-01
#10 756665228回复
我记得微信群有人分享过。你可以问问群管有没有整理。  

多谢多谢

0
#10756665228回复于2020-04-26
#9 131******78回复
您好,有没有C#调用EasyDL离线SDK的例子

我记得微信群有人分享过。你可以问问群管有没有整理。

 

1
#9131******78回复于2020-04-26

您好,有没有C#调用EasyDL离线SDK的例子

0
#8756665228回复于2020-02-10
#7 homewzx84回复
c++调用离线SDK文档代码有么?

不会cpp语言呀~ 你加官方群咨询一下别的开发者

1
#7homewzx84回复于2020-02-10

c++调用离线SDK文档代码有么?

0
#6chris依恋回复于2019-07-22

请问为什么我这里会报错啊

2
#5756665228回复于2019-07-09
#4 涙的吿苩回复
您好,有没有C#调用EasyDL离线SDK的例子

之前一个微信群有人分享过。我忘记保存下来了。所以就没有了。

1
#4涙的吿苩回复于2019-07-09

您好,有没有C#调用EasyDL离线SDK的例子

1
TOP
切换版块