通用文字识别如何通过C#进行调用?(三)

一、什么是通用文字识别?

通用文字识别是一种技术,它能够将图像中的文字转换为可编辑的文本格式。

二、通用文字识别适用哪些场景?

例如:商业场景

1.广告数据分析:可以识别户外广告、宣传海报上的文字内容,结合大数据分析技术,了解广告投放效果和市场趋势。

2.电商商品信息录入:商家可以通过文字识别快速将商品的说明书、标签等信息录入到电商平台,提高商品上架速度。

3.物流行业:识别快递单上的地址、姓名、电话等信息,实现自动化的物流信息录入和分拣。

三、如何用C#进行通用文字识别接口调用?

下面我们以阿里云为例,通过C#实现调用:

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

        private const String host = "https://kzwordocr.market.alicloudapi.com";
        private const String path = "/api-mall/api/general/ocr";
        private const String method = "POST";
        private const String appcode = "你自己的AppCode";

        static void Main(string[] args)
        {
            String querys = "";
            String bodys = "image=image&url=url";
            String url = host + path;
            HttpWebRequest httpRequest = null;
            HttpWebResponse httpResponse = null;

            if (0 < querys.Length)
            {
                url = url + "?" + querys;
            }

            if (host.Contains("https://"))
            {
                ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
                httpRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
            }
            else
            {
                httpRequest = (HttpWebRequest)WebRequest.Create(url);
            }
            httpRequest.Method = method;
            httpRequest.Headers.Add("Authorization", "APPCODE " + appcode);
            //根据API的要求,定义相对应的Content-Type
            httpRequest.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
            if (0 < bodys.Length)
            {
                byte[] data = Encoding.UTF8.GetBytes(bodys);
                using (Stream stream = httpRequest.GetRequestStream())
                {
                    stream.Write(data, 0, data.Length);
                }
            }
            try
            {
                httpResponse = (HttpWebResponse)httpRequest.GetResponse();
            }
            catch (WebException ex)
            {
                httpResponse = (HttpWebResponse)ex.Response;
            }

            Console.WriteLine(httpResponse.StatusCode);
            Console.WriteLine(httpResponse.Method);
            Console.WriteLine(httpResponse.Headers);
            Stream st = httpResponse.GetResponseStream();
            StreamReader reader = new StreamReader(st, Encoding.GetEncoding("utf-8"));
            Console.WriteLine(reader.ReadToEnd());
            Console.WriteLine("\n");

        }

        public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
        {
            return true;
        }

正确返回示例如下:

{
    "msg": "成功",
    "success": true,
    "code": 200,
    "data": {
        "orderNo": "202407102026336827870",
        "info": [
            {
                "line_no": 0, //文本行编号,按从左至右、从上至下顺序依次排列
                "confidence": 0.96655273, //行文本识别置信度 0-1 
                "line_content": "姓名", //识别出的文本行内容
                "line_position": {
                    "x": 53,
                    "width": 53,
                    "y": 66,
                    "line_direction": 0,
                    "height": 22
                }
            },
            {
                "line_no": 1,
                "confidence": 0.98909503,
                "line_content": "陈海江",
                "line_position": {
                    "x": 102,
                    "width": 63,
                    "y": 63,
                    "line_direction": 0,
                    "height": 23
                }
            }
        ]
    }
}


line_no		文本行编号,按从左至右、从上至下顺序依次排列
line_content	识别出的文本行内容
confidence	行文本识别置信度
line_position	文本行位置信息,表示为坐标和旋转角度(左上角X,左上角Y,宽Width,高Height,旋转角度Line Position)+x左上角顶点横坐标X +y	左上角顶点纵坐标Y
width	        矩形框的宽
height		矩形框的高
line_direction	文本行的旋转角度
words		文本行内单字符的内容数组,数组元素为一个Json结构,包含character和confidence
character	候选字符character
confidence	单字符的识别置信度

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "c"是拉丁字母表中的第个字母。它在英语中的发音是/siː/。它是一个常见的字母,出现在许多单词中,如cat(猫)、car(车)和cake(蛋糕)等。在音乐领域,C代表着do(唱名),是音阶的第一个音符。在计算机科学中,C是一种编程语言的名称,它是一种通用的高级编程语言,广泛用于软件开发和系统编程。C语言具有简洁、高效的特点,是很多其他编程语言的基础。C还代表着摄氏度的单位,用于测量温度。在数学中,C代表着复数的集合,复数是由实数和虚数构成的数。在化学中,C是碳的元素符号,碳是化学元素周期表中的第六个元素,有着广泛的应用。总的来说,C是一个多义的字母,涵盖了语言、音乐、计算机科学、科学和化学等多个领域的意义。 ### 回答2: 在数学中,C是指组合数,也叫做二项式系数。组合数是一种计算有限集合中元素组合方式的方法。组合数的计算方法是通过阶乘的除法来得到的。 具体来说,假设有n个元素,要从中选取k个元素,那么组合数C(n, k)表示从n个元素中选取k个元素的组合方式的数量。组合数的计算公式是: C(n, k) = n! / (k! * (n-k)!) 其中,!表示阶乘运算,即将一个正整数n连乘到1。公式中的分子是全部元素的阶乘,分母是选取的元素和未选取的元素的阶乘的乘积。 例如,假设有一个集合{A, B, C, D, E},我们要从中选取3个元素的组合数可以用C(5, 3)来表示。计算过程为: C(5, 3) = 5! / (3! * (5-3)!) = 5! / (3! * 2!) = (5 * 4 * 3!) / (3! * 2 * 1) = (5 * 4) / (2 * 1) = 10 所以从集合{A, B, C, D, E}中选取3个元素的组合方式有10种。 组合数在数学中有广泛的应用,特别在概率论和组合数学中起重要作用。它用于计算组合样本的数量,求解排列组合问题和二项式定理等。而且在实际应用中,组合数还用于计算投资组合、统计学、计算机科学等领域。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值