让代码更简单

当前位置:代码狗 > 开发教程 > C#开发教程 > 正文

腾讯AI与百度AI文字识别OCR对比

重要:本文最后更新于2019-11-28 10:09:05,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

这几天某缙玩儿起了百度OCR文字识别,突然想起好像以前写过一篇腾讯AI文字识别的OCR教程,于是打算把这两家的OCR识别做成程序,对比下哪家更牛逼一些。PC程序,C#语言编写,下面是对比结果。

首先我们先找到这两家的AI开放平台,找到对应接口。

腾讯AI:https://ai.qq.com/

百度AI:https://ai.baidu.com/

接口调用限制:

AI平台 费用 数量
腾讯AI 免费 限制并发,个人并发2,企业并发10
百度AI 免费/收费 免费50000,超出收费

在OCR通用文字识别功能处找到对应的接口文档,这里得吐槽下腾讯的文档了,真尼玛麻烦,鉴权真坑,由于之前写过腾讯OCRPHP版的代码,以及微信支付的接口鉴权,这里对我来说还好,但看了百度的接口后,我就想吐槽下。

这里分享C#的核心代码:

/// <summary>
/// 图片转换成base64编码文本
/// </summary>
public string ImgToBase64String(string path)
{
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, (int)fs.Length);
string base64String = Convert.ToBase64String(buffer);
return base64String;
}

两家的图片传输都是用的base64,注意,这里指的C#图像base64编码字符串,别搞错了。

C#的字典升序排列:

 var items = para.OrderBy(o => o.Key, StringComparer.Ordinal);

para指字典对象,c#没有PHP那样的ksort函数,网上各种说OrderBy不完全正确,经我测试,没发现问题。

关于时间戳不正确解决办法:

DateTime.Now.ToUniversalTime()

不要用

DateTime.Now

发送Post数据方法:

/// <summary>
/// 指定Post地址使用Get 方式获取全部字符串
/// </summary>
/// <param name="url">请求后台地址</param>
/// <returns></returns>
public string Post(string url, Dictionary<string, string> dic)
{
string result = "";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
#region 添加Post 参数
StringBuilder builder = new StringBuilder();
int i = 0;
foreach (var item in dic)
{
if (i > 0)
builder.Append("&");
String str = UrlEncode(item.Value);
builder.AppendFormat("{0}={1}", item.Key, str);
i++;
}
byte[] data = Encoding.UTF8.GetBytes(builder.ToString());
req.ContentLength = data.Length;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(data, 0, data.Length);
reqStream.Close();
}
#endregion
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream stream = resp.GetResponseStream();
//获取响应内容
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
result = reader.ReadToEnd();
}
return result;
}

最后的结果比较:

腾讯AI文字识别OCR

腾讯AI文字识别OCR

百度AI文字识别OCR

百度AI文字识别OCR

看图就明白谁牛逼了吧,虽然腾讯的鉴权麻烦点,但识别功能比百度强的不止一点,百度还需要自己提供图片文字语言种类等等各种参数,腾讯AI只需提供一张带文字的图片即可,还是腾讯牛逼呀!

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏

评论 1

  1. #1

    腾讯牛逼,狗哥牛逼!

    缙哥哥3周前 (11-26)回复
×

请作者吃根烤肠!

支付宝