通用文字识别如何通过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	单字符的识别置信度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值