营业执照OCR识别API接口如何用C#调用

news2024/11/12 21:23:11

服务器和计算设备的性能不断提升,为 OCR 识别提供了更强大的计算能力支持。更快的 CPU、GPU 以及分布式计算技术的应用,使得营业执照图片的处理速度大幅加快,能够在更短的时间内完成大量营业执照的识别工作。

研发人员不断对 OCR 识别算法进行优化,减少不必要的计算步骤和时间消耗。采用并行处理、多线程技术等,让识别系统能够同时处理多个任务,进一步提高识别速度。例如,一些先进的 OCR 识别 API 接口可以在几秒内完成一张营业执照的识别,满足了企业和机构对高效处理的需求。

以下是C#实现营业执照OCR识别API接口的示例代码:

using System;
using System.IO;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Text;

public class ApiDemo {
    private const String url = "https://api.shuxuntech.com/v1/business/ocr";
    private const String method = "POST";
    private const String appKey = "您的appKey";
    private const String appSecret = "您的appSecret";

    public static void Main(string[] args) {
        TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
        String timestamp = Convert.ToInt64(ts.TotalMilliseconds).ToString();
        String sign = SHA256(appKey + timestamp + appSecret);

        HttpWebRequest httpRequest = null;
        HttpWebResponse httpResponse = null;

        httpRequest = (HttpWebRequest) WebRequest.CreateDefault(new Uri(url));
        httpRequest.Method = method;
        httpRequest.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";

        httpRequest.Headers.Add("appKey", appKey);
        httpRequest.Headers.Add("timestamp", timestamp);
        httpRequest.Headers.Add("sign", sign);

        String image = "";
        String imgUrl = "";
        String params = "image=" + image + "&imgUrl=" + imgUrl;

        byte[] data = Encoding.UTF8.GetBytes(params);
        using (Stream stream = httpRequest.GetRequestStream()) {
            stream.Write(data, 0, data.Length);
        }

        httpResponse = (HttpWebResponse) httpRequest.GetResponse();
        Console.WriteLine(httpResponse.StatusCode);
        Stream st = httpResponse.GetResponseStream();
        StreamReader reader = new StreamReader(st, Encoding.GetEncoding("utf-8"));
        Console.WriteLine(reader.ReadToEnd());
    }

    public static string SHA256(string str) {
        byte[] SHA256Data = Encoding.UTF8.GetBytes(str);
        SHA256Managed Sha256 = new SHA256Managed();
        byte[] by = Sha256.ComputeHash(SHA256Data);
        return BitConverter.ToString(by).Replace("-", "").ToLower();
    }
}

返回的数据:

(1)正确返回:


    "code": "0",
    "msg": "成功",
    "isFee": 1,
    "seqNo": "98ik48a942udag92uxvhz1jw2txplza9",
    "data": {
        "result": 1,
        "resultDesc": "识别成功,有数据",
        "info": {
            "enterpriseType": "有限责任公司(自然人独资)",
            "address": "浙江省杭州市余杭区五常街道瑞谷中心7幢5层525-7室",
            "registrationCapital": "壹佰万元整",
            "opTo": "",
            "orgForm": "",
            "opScope": "一般项目:技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广:信息系统集成服务:大数据服务:软件开发;数字内容制作服务(不含出版发行):互联网数据服务:网络与信息安全软件开发:人工智能公共数据平台:信息技术咨询服务:数据处理服务:计算机系统服务:企业管理咨询:计算机软硬件及辅助设备批发:计算机软硬件及辅助设备零售:电子产品销售;通讯设备销售:互联网销售(除销售需要许可的商品)(除依法须经批准的项目外,凭营业执照依法自主开展经营活动)",
            "establishingDate": "2022-09-13",
            "legalName": "李欢",
            "registrationCode": "",
            "opFrom": "",
            "creditCode": "91330110MABYJ76842",
            "opPeriod": "",
            "enterpriseName": "杭州数勋科技有限公司",
            "isCopy": 1
        }
    }
}

(2)错误返回:

{
    "code": "1",
    "msg": "参数错误",
    "isFee": 0,
    "seqNo": null,
    "data": null
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2237095.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSP/信奥赛C++刷题训练:经典例题 - 栈(2):洛谷P1981 :[NOIP2013 普及组] 表达式求值

CSP/信奥赛C刷题训练:经典例题 - 栈(2):洛谷P1981 :[NOIP2013 普及组] 表达式求值 题目背景 NOIP2013 普及组 T2 题目描述 给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值。 输入格式 …

LVGL加入外围字库

一、首先lvgl是有自带字库的 lvgl/src/font 如下图 二、但如果这个字库不能满足我们的需求我们就要外建字库。 1、字库生成软件LVGL官网,字体转换器 — LVGL如下图: 最后按“提交”就可以看到有一个字体被下载到你电脑里。他是以.c文件的型式&#xff0…

创新引领,模块化微电网重塑能源格局

根据QYResearch调研团队最新发布的《全球模块化微电网市场报告2023-2029》显示,预计到2029年,全球模块化微电网市场的规模将扩大至33.1亿美元,且在未来几年内,其年复合增长率(CAGR)将达到8.8%。 如下图所示…

FPGA 第4讲 初识Verilog HDL

时间:2024.11.9 一、学习内容 1.Verilog HDL简介 1.1语言简介 Verilog HDL是一种硬件描述语言,以文本的形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能…

【51单片机】LED点阵屏 原理 + 使用

学习使用的开发板:STC89C52RC/LE52RC 编程软件:Keil5 烧录软件:stc-isp 开发板实图: 文章目录 LED点阵屏显示原理74HC595 编码LED点阵屏显示笑脸LED点阵屏显示动画 LED点阵屏 点阵屏在开发板的右上角,注意使用前需要…

Chrome扩展是程序员做独立开发的绝佳入场机会

一、开发成本低,难度低 简便灵活:相比开发移动应用,浏览器扩展的开发过程更加简便灵活,更适合初学者。省时省力:通过扩展,你可以修改现有网站的功能,无需从零开始搭建应用,大大节省…

记录一下最近遇到的两个问题

问题1 网友问:一个数据同步的程序之前运行正常,突然数据有问题了,俺的回答是退出杀毒软件 问题是很快解决了,但是网友后来说,客户觉得程序很不稳定。俺不清楚这算不算背锅。 问题2 今天下午,调试着程序蓝…

30.1 时序数据库TSDB的典型特点

本节重点介绍 : db-ranking网站对db进行排名时序数据特点时序数据库特点时序数据库遇到的挑战开源时间序列数据库 db-ranking 一个神奇的网站 https://db-engines.com/en/ranking 时序数据ranking https://db-engines.com/en/ranking/timeseriesdbms 排名方法 https://db-en…

Linux SSH私钥认证结合cpolar内网穿透安全高效远程登录指南

文章目录 前言1. Linux 生成SSH秘钥对2. 修改SSH服务配置文件3. 客户端秘钥文件设置4. 本地SSH私钥连接测试5. Linux安装Cpolar工具6. 配置SSHTCP公网地址7. 远程SSH私钥连接测试8. 固定SSH公网地址9. 固定SSH地址测试 前言 开发人员在工作中经常需要远程访问服务器和数据中心…

vscode摸鱼学习插件开发

不知道大家在摸鱼的时候,会不会想要学习? 或者有没有考公人,下班要学习的? 上班时间摸鱼,下班时间不够学习? 为此,我决定开发一个vscode插件,来刷粉笔题 粉笔插件名称:…

深入浅出WebSocket(实践聊天室demo)

文章目录 什么是WebSocket?WebSocket连接过程WebSocket与Http的区别重连机制完整代码使用方法心跳机制实现聊天室demo(基于Socket.io)参考文章、视频小广告~什么是WebSocket? WebSocket 是一种在单个TCP连接上进行全双工通信的协议(计算机网络应用层的协议) 在 WebSocket A…

[ Linux 命令基础 7 ] Linux 命令详解-磁盘管理相关命令

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

ElasticSearch 添加IK分词器

ElasticSearch 添加IK分词器 前言一、IK分词器的算法二、Ik分词器的下载安装(Winows 版本)三、Ik分词器的下载安装(Linux 版本)四、验证测试(postman工具)测试 ik_smart 分词算法测试 ik_max_word 分词算法…

aws(学习笔记第十一课) 使用AWS的EFS,以及AWS Storage Gateway

aws(学习笔记第十一课) 使用AWS的EFS和AWSStorage Gateway 学习内容: 使用AWS的EFS使用AWS Storage Gateway 1. 使用AWS的EFS 什么是EFS EFS是 Elastic File System的缩写。前面练习的实例存储和EBS都是同时只能一个EC2实例进行挂载,不能实现多个EC2实…

Diffusion Policy——斯坦福刷盘机器人UMI所用的扩散策略(含Diff-Control、ControlNet详解)

前言 本文一开始是属于此文《UMI——斯坦福刷盘机器人:从手持夹持器到动作预测Diffusion Policy(含代码解读)》的第三部分,考虑后Diffusion Policy的重要性很高,加之后续还有一系列基于其的改进工作 故独立成本文,且把原属于另一…

计算机毕业设计 | SpringBoot慈善公益平台 爱心互助活动发布管理系统(附源码)

1,项目介绍 爱慈善公益平台(love-charity)是一个基于 SpringBoot 开发的标准 Java Web 项目。整体页面非常的简约大气,项目的完整度较高,是一个偏向公益论坛的系统。非常适合刚刚接触学习 SpringBoot 的技术小白学习&…

【深入浅出】之Linux进程(二)

📃博客主页: 小镇敲码人 💚代码仓库,欢迎访问 🚀 欢迎关注:👍点赞 👂🏽留言 😍收藏 🌏 任尔江湖满血骨,我自踏雪寻梅香。 万千浮云遮碧…

bert-base-chinese模型使用教程

向量编码和向量相似度展示 import torch from transformers import BertTokenizer, BertModel import numpy as npmodel_name "C:/Users/Administrator.DESKTOP-TPJL4TC/.cache/modelscope/hub/tiansz/bert-base-chinese"sentences [春眠不觉晓, 大梦谁先觉, 浓睡…

Qt/C++ 海康SDK开发示例Demo

*** 工业相机在机器视觉中起到关键作用,本文基于海康 SDK 详细解读了设备连接与控制的各个步骤。内容涵盖设备枚举、句柄创建、图像采集回调以及设备异常处理,帮助开发者快速理解如何通过代码控制相机,实时采集并处理图像数据。*** 1. 搜索并…

RabbitMQ的应用

七种工作模式介绍 1.Simple(简单模式) P:生产者,也就是要发送信息的程序 C:消费者,消息的接收者 Queue:消息队列。图中黄色背景部分,类似一个邮箱,可以缓存发送信息;生产者向其中…