药品清单识别

接口描述

用户通过发送HTTP Post请求方式提交数据至公有云服务器,服务器识别并返回json格式的识别结果。

接口说明

请求URL:http://api.exocr.com/ocr/v1/medicine_inventory

请求方式:HTTP Post

返回格式:json

参数
Content-Type 使用二进制方式时,为multipart/form-data;使用url方式时,为application/x-www-form-urlencoded

请求参数

参数 必选 类型 说明
app_key string 请在控制台->我的应用中获取
app_secret string 请在控制台->我的应用中获取
image_base64 string 图像base64串。image_base64、image_url、image_binary三个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上三个参数,则以image_base64图像为准。
image_url string 图像url地址。image_base64、image_url、image_binary三个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上三个参数,则以image_base64图像为准。
image_binary data 图像二进制。image_base64、image_url、image_binary三个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上三个参数,则以image_base64图像为准。

调用示例

java(相关依赖库下载)

package com.exocr.httpclient;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.util.HashMap;

import java.util.Map;



import com.exocr.common.utils.HttpClientUtils;



public class Test {



   public static void main(String[] args) throws FileNotFoundException {





      /**

       * base64

       */

      //识别url

      String url = " http://api.exocr.com/ocr/v1/medicine_list";

      //设置请求参数

      Map<String, String> params = new HashMap<String, String>();

      params.put("app_key", "#####");

      params.put("app_secret", "#####");


      //设置识别图像base64编码

      params.put("image_base64", "base64ImageStr");

      //发送请求,得到识别结果

      String result = HttpClientUtils.doPost(url, params);

      System.out.println(result);





      /**

       * url

       */

      //设置请求参数、识别图像url

      params.put("app_key", "#####");

      params.put("app_secret", "#####");

      params.put("image_url", "imageUrl");


      //发送请求,得到识别结果

      result = HttpClientUtils.doPost(url, params);

      System.out.println(result);

      /**

       * 二进制

       */

      //设置请求参数

      params.put("app_key", "#####");

      params.put("app_secret", "#####");


      //拿到本地图像,写入数据流

      File file = new File("/Users/mac/logs/medicine.png");

      InputStream in = new FileInputStream(file);

      //设置数据流

      Map<String, InputStream> streamMap = new HashMap<String, InputStream>();

      streamMap.put("image_binary", in);

      //发送请求,得到识别结果

      result = HttpClientUtils.doPostStream(url, params, streamMap);

      //关闭io流

      try {

         in.close();

      } catch (IOException e) {

         e.printStackTrace();

      }

      System.out.println(result);

   }

}

返回示例

{
    "result": [{
        "count": {
            "quad": [711.22247264162, 255.38127262886778, 736.2224631785184, 255.3595205026733, 736.2363845392829, 271.3595144462882, 711.2363940023845, 271.3812665724827],
            "chinese_key": "数量",
            "score": 1.0,
            "words": "100"
        },
        "name": {
            "quad": [101.21835311606188, 250.91202640063352, 334.2200050900499, 252.7092958274528, 333.235666999434, 270.71015909906737, 101.2340146469219, 268.91201958720035],
            "chinese_key": "名称",
            "score": 1.0,
            "words": "308激光治308准分子激光费"
        },
        "specifications": {
            "quad": [0, 0, 100, 0, 100, 100, 0, 100],
            "chinese_key": "规格",
            "score": 1.0,
            "words": ""
        },
        "unit_price": {
            "quad": [809.2241757163571, 257.29600353713727, 863.2241552760574, 257.2490189445572, 863.2363364667264, 271.24901364522026, 809.236356907026, 271.29599823780035],
            "chinese_key": "单价",
            "score": 1.0,
            "words": "40.000"
        },
        "amount": {
            "quad": [922.2241329431375, 257.1976839267382, 983.2241098531695, 257.14460873882365, 983.2362910438384, 271.14460343948673, 922.2363141338064, 271.1976786274013],
            "chinese_key": "金额",
            "score": 1.0,
            "words": "4000.00"
        },
        "unit": {
            "quad": [0, 0, 100, 0, 100, 100, 0, 100],
            "chinese_key": "单位",
            "score": 1.0,
            "words": ""
        }
    }
    ],
    "error_code": 0,
    "description": "识别成功",
    "request_id": "CA7D27181002480F86CDFDFBA8BCEA5D",
    "recognize_time": 2433,
    "available_count": 86009,
    "version": null
}

返回说明

通用参数

参数 类型 说明
result array 返回结果数组,包括所有识别信息
error_code int 错误码,返回0为正确,其他为错误
description string 识别结果描述
request_id string 请求唯一标识符
recognize_time int 识别所用时间,单位为毫秒
available_count int 识别剩余可用次数,次数不足时无法继续识别,可在控制台进行充值次数

result特有参数

参数 类型 说明
count array 数量
name array 名称
unit_price array 单价
amount array 金额
spec array 规格
unit array 单位
chinese_key String 该字段中文含义
words String 识别结果
score Float 照片可信度
quad String 四个顶点坐标
Copyright © 2020 易道博识 all right reserved,powered by Gitbook该文件修订时间: 2023-12-04 14:10:10

results matching ""

    No results matching ""