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

服务器和计算设备的性能不断提升,为 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.mzph.cn/web/58751.shtml

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

相关文章

qt QLocale详解

1、概述 QLocale是Qt框架中的一个类,用于处理与本地化相关的操作。它能够方便地实现日期、时间、数字和货币的格式化和解析,支持不同的语言、区域设置和字符集。QLocale提供了一种跨平台的方式来获取当前系统的语言设置,并返回该语言的本地化…

微服务架构面试内容整理-Eureka

Spring Cloud Netflix 是一个为构建基于 Spring Cloud 的微服务应用提供的解决方案,利用 Netflix 的开源组件来实现常见的分布式系统功能。以下是 Spring Cloud Netflix 的一些主要组件和特点: 服务注册与发现:Eureka 是一个 RESTful 服务,用于注册和发现微服务。服务实例在…

缓存、注解、分页

一.缓存 作用:应用查询上,内存中的块区域。 缓存查询结果,减少与数据库的交互,从而提高运行效率。 1.SqlSession 缓存 1. 又称为一级缓存,mybatis自动开启。 2. 作用范围:同一…

uniapp vue3 使用echarts-gl 绘画3d图表

我自己翻遍了网上,以及插件市场,其实并没有uniapp 上使用echarts-gl的样例,大多数都是使用插件市场的echarts的插件 开始自己尝试直接用echartsgl 没有成功,后来尝试使用threejs 但是也遇到一些问题,最后我看官网的时…

【言语理解】片段阅读整体概述

1.1 题型分类 片段阅读一般有以下六种: 中心理解题 “这段文字意在说明:” “这段文字意在强调:” “这段文字主要介绍了:” “下列对文意概括最恰当的是:”标题拟定题 “最适合做这段文字标题的是:”下文…

linux搭建大数据环境

前期准备工作 友情提醒提前安装好vmware软件,准备好连接虚拟机的客户端 一. 基础环境 1.配置ip地址 修改ip配置文件 [rootnode1 /]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE"Ethernet" PROXY_METHOD"none" BROWSER_ONLY"no" # …

什么是 OpenTelemetry?

OpenTelemetry 定义 OpenTelemetry (OTel) 是一个开源可观测性框架,允许开发团队以单一、统一的格式生成、处理和传输遥测数据(telemetry data)。它由云原生计算基金会 (CNCF) 开发,旨在提供标准化协议和工具,用于收集…

ESP32 gptimer通用定时器初始化报错:assert failed: timer_ll_set_clock_prescale

背景:IDF版本V5.1.2 ,配置ESP32 通用定时器,实现100HZ,占空比50% 的PWM波形。 根据乐鑫官方的IDF指导文档设置内部计数器的分辨率,计数器每滴答一次相当于 1 / resolution_hz 秒。 (ESP-IDF编程指导文档&a…

AIGC在游戏设计中的应用及影响

文章目录 一、AIGC的基本概念与背景AIGC的主要应用领域AIGC技术背景 二、AIGC在游戏设计中的应用1. 自动化游戏地图与关卡设计示例:自动生成2D平台游戏关卡 2. 角色与物品生成示例:使用GAN生成虚拟角色 3. 游戏剧情与任务文本生成示例:基于GP…

【NOIP普及组】统计单词数

【NOIP普及组】统计单词数 💐The Begin💐点点关注,收藏不迷路💐 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。 现在&#x…

Spring Security(5.x, 6.x ) RBAC访问控制

在 Spring Security 中,基于不同版本实现 RBAC(基于角色的访问控制)功能有一些不同的方式。RBAC 的基本原理是:定义用户、角色和权限的关系,并控制不同用户对资源的访问。 Spring Security 不同版本的实现主要在配置方…

Unity 如何优雅的限定文本长度, 包含对特殊字符,汉字,数字的处理。实际的案例包括 用户昵称

常规限定文本长度 ( 通过 UntiyEngine.UI.Inputfiled 附带的长度限定 ) 痛点1 无法对中文,数字,英文进行识别,同样数量的汉字和同样数量的英文像素长度是不一样的,当我们限定固定长度后,在界面上的排版不够美观 痛点2…

多个服务器共享同一个Redis Cluster集群,并且可以使用Redisson分布式锁

Redisson 是一个高级的 Redis 客户端,它支持多种分布式 Java 对象和服务。其中之一就是分布式锁(RLock),它可以跨多个应用实例在多个服务器上使用同一个 Redis 集群,为这些实例提供锁服务。 当你在不同服务器上运行的…

jmeter常用配置元件介绍总结之函数助手

系列文章目录 1.windows、linux安装jmeter及设置中文显示 2.jmeter常用配置元件介绍总结之安装插件 3.jmeter常用配置元件介绍总结之取样器 jmeter常用配置元件介绍总结之函数助手 1.进入函数助手对话框2.常用函数的使用介绍2.1.RandomFromMultipleVars函数2.2.Random函数2.3.R…

发现了NitroShare的一个bug

NitroShare 是一个跨平台的局域网开源网络文件传输应用程序,它利用广播发现机制在本地网络中找到其他安装了 NitroShare 的设备,从而实现这些设备之间的文件和文件夹发送。 NitroShare 支持 Windows、macOS 和 Linux 操作系统。 NitroShare允许我们为…

【 ElementUI 组件Steps 步骤条使用新手详细教程】

本文介绍如何使用 ElementUI 组件库中的步骤条组件完成分步表单设计。 效果图: 基础用法​ 简单的步骤条。 设置 active 属性,接受一个 Number,表明步骤的 index,从 0 开始。 需要定宽的步骤条时,设置 space 属性即…

互联网技术净土?原生鸿蒙开启全新技术征程

鸿蒙生态与开发者的崭新机会 HarmonyOS NEXT承载着华为对未来操作系统的深刻理解,如今已发展为坚实的数字底座。它不仅在技术层面取得了全面突破,还在中国操作系统市场中站稳了脚跟。 当前,HarmonyOS NEXT的代码行数已超过1.1亿&#xff0c…

[linux驱动开发--API框架]--platform、gpio、pinctrl

1. 结构体定义和实例化 // 这个结构体样式并不固定,按需增减成员,可以参考内核的其他驱动代码 struct leddev_dev{dev_t devid; /* 设备号*/struct cdev cdev; /* cdev*/struct class *class; /* 类*/struct device *d…

从书本到代码:人工智能如何改变教育游戏规则?

内容概要 随着时代的发展,人工智能在教育领域展现出前所未有的潜力,成为推动教育改革的重要力量。它不仅仅是一种技术工具,更是一种变革的催化剂,促使传统教育模式必须进行自我反思和更新。通过利用智能算法,教育者可…

发布一个npm组件库包

Webpack 配置 (webpack.config.js) const path require(path); const MiniCssExtractPlugin require(mini-css-extract-plugin); const CssMinimizerPlugin require(css-minimizer-webpack-plugin); const TerserPlugin require(terser-webpack-plugin);module.exports {…