翔云智能图像处理服务

一键“重塑”你的图片,让图片清晰干净、即拿即用

支持畸变矫正、消除阴影水印、漂白背景、去除手写痕迹

无论纸质档案、证件照片还是合同扫描件,都能一键优化

适用于政务归档、教育阅卷、企业办公等场景,让低质量图像不再成为业务流程的卡点

支持私有化部署 · 数据安全可控

购买API 咨询私有化方案

功能演示

免费试用

李经理 133 7162 1565 info@sinosecu.com.cn

离线识别SDK

支持快速集成到移动端与客户端应用中,支持Windows、Android、iOS等主流系统,无需网络,离线即可实现智能文字识别功能

私有化部署

部署至本地服务器中,在私有化环境中实现文字识别功能,保障数据私密性,支持CPU/GPU环境及国产化操作系统部署

AI硬件

提供多种业务场景的硬件设备,如扫描仪、发票管理系统、护照阅读器、车牌识别系统等,实现物联网信息的实时计算,返回文字识别与真伪核验结果

操作过于频繁,请输入验证码
x

按顺序填写与该色同色的验证码

API文档

一、图片为base64流
接口地址: https://netocr.com/api/pic_process_base64
接口调用方法: post
接口接收参数:
序号 名称 类型 必填 说明
1 img String 上传图片的base64流,支持JPG、JPEG、PNG、BMP、WEBP、TIF、TIFF
2 key String 用户ocrKey
3 secret String 用户ocrSecret
4 typeId Integer 产品类型:3100
5 format String json
6 distortionCorrect Integer 畸变矫正:0-关闭(默认) 1-开启
7 autoRotation Integer 自动旋转:0-关闭(默认) 1-开启
8 removeWaterMark Integer 去水印:0-关闭(默认) 1-开启
9 imageEnhance Integer 图像增强:0-关闭(默认) 1-开启
10 removeHandwriting Integer 去手写:0-关闭(默认) 1-开启
11 removeFinger Integer 去手指:0-关闭(默认) 1-开启
二、图片为file格式
接口地址: https://netocr.com/api/pic_process_file
接口调用方法: post
接口接收参数:
序号 名称 类型 必填 说明
1 file MultipartFile 上传的图片,字段名必须是“file”,支持JPG、JPEG、PNG、BMP、WEBP、TIF、TIFF
2 key String 用户ocrKey
3 secret String 用户ocrSecret
4 typeId Integer 产品类型:3100
5 format String json
6 distortionCorrect Integer 畸变矫正:0-关闭(默认) 1-开启
7 autoRotation Integer 自动旋转:0-关闭(默认) 1-开启
8 removeWaterMark Integer 去水印:0-关闭(默认) 1-开启
9 imageEnhance Integer 图像增强:0-关闭(默认) 1-开启
10 removeHandwriting Integer 去手写:0-关闭(默认) 1-开启
11 removeFinger Integer 去手指:0-关闭(默认) 1-开启
三、示例代码
  • Java
  • python
  • javascript
  • PHP
  • C#
  • C++
  • GO
  • Node.js
  • ios
  • Android

import okhttp3.*;
import java.io.IOException;

public class Sample {

    public static void main(String[] args) throws IOException {
        OkHttpClient client = new OkHttpClient();
        RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
                .addFormDataPart("img", "/9j")
                .addFormDataPart("key", "M***********g")
                .addFormDataPart("secret", "3***********6")
                .addFormDataPart("typeId", "3100")
                .addFormDataPart("format", "json")
                .addFormDataPart("distortionCorrect", "1")
                .addFormDataPart("autoRotation", "0")
                .addFormDataPart("removeWaterMark", "0")
                .addFormDataPart("imageEnhance", "0")
                .addFormDataPart("removeHandwriting", "0")
                .addFormDataPart("removeFinger", "0")
                .build();
        Request request = new Request.Builder()
                .url("https://netocr.com/api/pic_process_base64")
                .post(body)
                .build();
        Response response = client.newCall(request).execute();
        System.out.println(response.body().string());
    }
}

import requests

url = "https://netocr.com/api/pic_process_base64"
payload = {
    "img": "/9j",
    "key": "M***********g",
    "secret": "3***********6",
    "typeId": "3100",
    "format": "json",
    "distortionCorrect": "1",
    "autoRotation": "0",
    "removeWaterMark": "0",
    "imageEnhance": "0",
    "removeHandwriting": "0",
    "removeFinger": "0"
}
response = requests.post(url, data=payload)
print(response.text)

var form = new FormData();
form.append("img", "/9j");
form.append("key", "M***********g");
form.append("secret", "3***********6");
form.append("typeId", "3100");
form.append("format", "json");
form.append("distortionCorrect", "1");
form.append("autoRotation", "0");
form.append("removeWaterMark", "0");
form.append("imageEnhance", "0");
form.append("removeHandwriting", "0");
form.append("removeFinger", "0");

fetch("https://netocr.com/api/pic_process_base64", {
    method: "POST",
    body: form
}).then(function(response) {
    return response.json();
}).then(function(data) {
    console.log(data);
});

<?php
$curl = curl_init('https://netocr.com/api/pic_process_base64');
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => [
        'img' => '/9j',
        'key' => 'M***********g',
        'secret' => '3***********6',
        'typeId' => '3100',
        'format' => 'json',
        'distortionCorrect' => '1',
        'autoRotation' => '0',
        'removeWaterMark' => '0',
        'imageEnhance' => '0',
        'removeHandwriting' => '0',
        'removeFinger' => '0'
    ]
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;

using var client = new HttpClient();
using var content = new MultipartFormDataContent
{
    { new StringContent("/9j"), "img" },
    { new StringContent("M***********g"), "key" },
    { new StringContent("3***********6"), "secret" },
    { new StringContent("3100"), "typeId" },
    { new StringContent("json"), "format" },
    { new StringContent("1"), "distortionCorrect" },
    { new StringContent("0"), "autoRotation" },
    { new StringContent("0"), "removeWaterMark" },
    { new StringContent("0"), "imageEnhance" },
    { new StringContent("0"), "removeHandwriting" },
    { new StringContent("0"), "removeFinger" }
};
var response = await client.PostAsync("https://netocr.com/api/pic_process_base64", content);
Console.WriteLine(await response.Content.ReadAsStringAsync());

#include <cpprest/http_client.h>
#include <iostream>

int main() {
    web::http::client::http_client client(U("https://netocr.com"));
    web::http::multipart_content content;
    content.add(web::http::name(U("img")), web::http::value(U("/9j")));
    content.add(web::http::name(U("key")), web::http::value(U("M***********g")));
    content.add(web::http::name(U("secret")), web::http::value(U("3***********6")));
    content.add(web::http::name(U("typeId")), web::http::value(U("3100")));
    content.add(web::http::name(U("format")), web::http::value(U("json")));
    content.add(web::http::name(U("distortionCorrect")), web::http::value(U("1")));
    content.add(web::http::name(U("autoRotation")), web::http::value(U("0")));
    content.add(web::http::name(U("removeWaterMark")), web::http::value(U("0")));
    content.add(web::http::name(U("imageEnhance")), web::http::value(U("0")));
    content.add(web::http::name(U("removeHandwriting")), web::http::value(U("0")));
    content.add(web::http::name(U("removeFinger")), web::http::value(U("0")));
    auto response = client.request(web::http::methods::POST, U("/api/pic_process_base64"), content).get();
    std::wcout << response.extract_string().get() << std::endl;
}

package main

import (
    "bytes"
    "fmt"
    "io"
    "mime/multipart"
    "net/http"
)

func main() {
    body := &bytes.Buffer{}
    writer := multipart.NewWriter(body)
    fields := map[string]string{
        "img": "/9j", "key": "M***********g", "secret": "3***********6",
        "typeId": "3100", "format": "json", "distortionCorrect": "1",
        "autoRotation": "0", "removeWaterMark": "0", "imageEnhance": "0",
        "removeHandwriting": "0", "removeFinger": "0",
    }
    for key, value := range fields {
        _ = writer.WriteField(key, value)
    }
    _ = writer.Close()
    request, _ := http.NewRequest(http.MethodPost, "https://netocr.com/api/pic_process_base64", body)
    request.Header.Set("Content-Type", writer.FormDataContentType())
    response, _ := http.DefaultClient.Do(request)
    defer response.Body.Close()
    data, _ := io.ReadAll(response.Body)
    fmt.Println(string(data))
}

const form = new FormData();
form.append("img", "/9j");
form.append("key", "M***********g");
form.append("secret", "3***********6");
form.append("typeId", "3100");
form.append("format", "json");
form.append("distortionCorrect", "1");
form.append("autoRotation", "0");
form.append("removeWaterMark", "0");
form.append("imageEnhance", "0");
form.append("removeHandwriting", "0");
form.append("removeFinger", "0");

const response = await fetch("https://netocr.com/api/pic_process_base64", {
    method: "POST",
    body: form
});
console.log(await response.text());

import Alamofire

AF.upload(multipartFormData: { form in
    form.append(Data("/9j".utf8), withName: "img")
    form.append(Data("M***********g".utf8), withName: "key")
    form.append(Data("3***********6".utf8), withName: "secret")
    form.append(Data("3100".utf8), withName: "typeId")
    form.append(Data("json".utf8), withName: "format")
    form.append(Data("1".utf8), withName: "distortionCorrect")
    form.append(Data("0".utf8), withName: "autoRotation")
    form.append(Data("0".utf8), withName: "removeWaterMark")
    form.append(Data("0".utf8), withName: "imageEnhance")
    form.append(Data("0".utf8), withName: "removeHandwriting")
    form.append(Data("0".utf8), withName: "removeFinger")
}, to: "https://netocr.com/api/pic_process_base64").responseString { response in
    print(response.value ?? "")
}

import okhttp3.*;
import java.io.IOException;

public class AndroidSample {
    public static void main(String[] args) throws IOException {
        OkHttpClient client = new OkHttpClient();
        RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
                .addFormDataPart("img", "/9j")
                .addFormDataPart("key", "M***********g")
                .addFormDataPart("secret", "3***********6")
                .addFormDataPart("typeId", "3100")
                .addFormDataPart("format", "json")
                .addFormDataPart("distortionCorrect", "1")
                .addFormDataPart("autoRotation", "0")
                .addFormDataPart("removeWaterMark", "0")
                .addFormDataPart("imageEnhance", "0")
                .addFormDataPart("removeHandwriting", "0")
                .addFormDataPart("removeFinger", "0")
                .build();
        Request request = new Request.Builder()
                .url("https://netocr.com/api/pic_process_base64")
                .post(body)
                .build();
        try (Response response = client.newCall(request).execute()) {
            System.out.println(response.body().string());
        }
    }
}
查看详细API介绍

交易记录

请登录后体验

确定 取消