C#百度图片识别API调用返回数据包解析

百度图片识别api接口

  public static JObject GeneralBasic(string apikey,string secretkey,string path)
        {
            var client = new Baidu.Aip.Ocr.Ocr(apikey, secretkey);
            var image = File.ReadAllBytes(path);

            // 通用文字识别
            var result = client.GeneralBasic(image, null);
            return result;
        }

调用,方法,以及返回json 解析

     private void txbupload_Click(object sender, EventArgs e)
        {
            string apikey = txbapikey.Text;
            string secretkey = txbsercetkey.Text;
            string imagepath = txbpic.Text+ "\\yancaoxuke.jpg";
            JObject result =   OcrDemo.GeneralBasic(apikey, secretkey, imagepath);
                var txts = (from obj in (JArray)result.Root["words_result"]
                         //   let phrase = (JObject)obj["phrase"]
                            select (string)obj["words"]);
            foreach (var r in txts)
                Console.WriteLine(r);

        }

包结构:

log_id:3544105182,words_result_num:15,words_result:[
  {
    "words": "XX专卖零售许可证"
  },
  {
    "words": "许可证号xxx"
  },
  {
    "words": "XX有限公司"
  },
  {
    "words": "法定代表人xx"
  },
  {
    "words": "(负责人)"
  },
  {
    "words": "320507217865"
  },
  {
    "words": "企业型"
  },
  {
    "words": "有限责任公司"
  },
  {
    "words": "经營场xx室"
  },
  {
    "words": "卷烟,雪茄烟"
  },
  {
    "words": "许可范围"
  },
  {
    "words": "xxxx公司"
  },
  {
    "words": "供货单位"
  },
  {
    "words": "有效期服自"
  },

参考:1

const string s = "{\"result\" : \"ok\",\"tuc\" : [ {\"authors\" : [ 13 ],\"meaningId\" : 2397164096556578585,\"phrase\" : {\"text\" : \"机场\",\"language\" : \"zho\" }},{\"authors\" : [ 3266 ],\"meaningId\" : 1269040436618011315,\"phrase\" : {\"text\" : \"機場\",\"language\" : \"zho\"}}]}";
var root = JObject.Parse(s);
var txts = (from obj in (JArray)root["tuc"]
            let phrase = (JObject)obj["phrase"]
            select (string)phrase["text"]);
foreach (var r in txts)
    Console.WriteLine(r);

2:

const string s = "{\"result\" : \"ok\",\"tuc\" : [ {\"authors\" : [ 13 ],\"meaningId\" : 2397164096556578585,\"phrase\" : {\"text\" : \"机场\",\"language\" : \"zho\" }},{\"authors\" : [ 3266 ],\"meaningId\" : 1269040436618011315,\"phrase\" : {\"text\" : \"機場\",\"language\" : \"zho\"}}]}";
var root = JObject.Parse(s);
var txts = (from obj in (JArray)root["tuc"]
            select (string)obj["phrase"]["text"]);
foreach (var r in txts)
    Console.WriteLine(r);

如果你从未使用过 json.net,那么可以看这个帖子开始:http://blog.csdn.net/leftfist/article/details/38687745

http://bbs.csdn.net/topics/390869393

时间: 2024-08-09 08:16:41

C#百度图片识别API调用返回数据包解析的相关文章

WPF技术触屏上的应用系列(二): 嵌入百度地图、API调用及结合本地数据库在地图上进行自定义标点的实现

原文:WPF技术触屏上的应用系列(二): 嵌入百度地图.API调用及结合本地数据库在地图上进行自定义标点的实现 去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用.客户端是Window7操作系统,54寸大屏电脑电视一体机.要求有很炫的展示效果,要有一定的视觉冲击力,可触控操作.当然满足客户的要求也可以有其它途径.但鉴于咱是搞 .NET技术的,首先其冲想到的微软WPF方面,之前对WPF的了解与学习也只是停留在比较浅的层面,没有进一步深入学习与应用.所以在项目接来以后,也就赶鸭子上架了,经过

百度文字识别API

注册成为百度云管理中心会员 创建一个文字识别的新应用(AppID/APIKey/Secret Key) 后台调用api时需要用到这几个参数. 后台调用照片识别api的方法: public class picToWord { //设置APPID/AK/SK public static final String APP_ID = "123456789"; public static final String API_KEY = "gdsjgiodfjgiofioffjgidfj&

百度 验证码识别API 使用

先到百度云申请文字识别API ,会给你一个API KEY和一个SECRET KEY,免费,一天最多500次请求. try: temp_url = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[API KEY]&client_secret=[SECRET KEY]' temp_res = requests.post(temp_url) temp_token = eval(t

GPS通讯 数据包解析

全球时区的划分: 每个时区跨15°经度.以0°经线为界向东向西各划出7.5°经度,作为0时区.即0时区的经度范围是7.5°W——7.5°E.从7.5°E与7.5°W分别向东.向西每15°经度划分为一个时区,直到东11区和西11区.东11区最东部的经度是172.5°E,由172.5°E——180°之间就是东12区.西11区最西部的经度是172.5°W,由172.5°W——180°之间就是西12区.东.西12区各占经度7.5°,合成一个完整的时区,即全球总共划分为24个时区.东.西12区钟点相同,日

九度oj 题目1475:IP数据包解析

题目描述: 我们都学习过计算机网络,知道网络层IP协议数据包的头部格式如下: 其中IHL表示IP头的长度,单位是4字节:总长表示整个数据包的长度,单位是1字节. 传输层的TCP协议数据段的头部格式如下: 头部长度单位为4字节. 你的任务是,简要分析输入数据中的若干个TCP数据段的头部. 详细要求请见输入输出部分的说明. 输入: 第一行为一个整数T,代表测试数据的组数. 以下有T行,每行都是一个TCP数据包的头部分,字节用16进制表示,以空格隔开.数据保证字节之间仅有一个空格,且行首行尾没有多余的

C++版的网络数据包解析策略(升级版)

初版:http://www.cnblogs.com/wjshan0808/p/6580638.html 说明:在实现了对应的接口后该策略可以适合绝大多数的网络数据包结构 首先,是三个接口 IProduceProxy.h #ifndef _I_PRODUCE_PROXY_H_ #define _I_PRODUCE_PROXY_H_ //Code #define CODE_PRODUCE_PROXY_OK 0x00 //OK #define CODE_PRODUCE_PROXY_NI 0x01 //

请问如何等待异步API调用返回结果后再将结果返回给主进程?

============问题描述============ 代码如下. 在主进程调用data.getData()后希望返回从API取得data,但是现在由于异步的关系resultSFSearchDataJSONParser直到主进程完全结束后才返回值,这样在getData()那里根本取不到data. 请问如何才能让getData()等待resultSFSearchDataJSONParser返回值以后自己才返回给主进程? 个人对handler多线程之类不太熟悉,能给我个简单的例子最好,谢谢啦. c

百度网盘API调用二

最近百度网盘将空间升级到了永久1TB,鉴于百度的实力用做数据备份空间不错,不过百度网盘没有Linux下的客户端,上传管理文件需通过百度开放云平台访问PCS资源的系列接口. 1.首先加入百度开发者:http://developer.baidu.com/dev#/create2.任意创建一个应用获取API Key并开通PCS API权限,开放API > API管理 > API列表 > API服务 > PCS API > 开启3.通过刚刚新建应用的API Key获取device c

最新升级的火狐38.0.6识别ajax调用返回的""空值可能有异常。

自已在调用一段ajax开发中,返回的是空值 string result = string.Empty;return result; 但在页面进行$.ajax调用 时 输出alert(result);应该是弹出一个空白的,结果弹出的却是[object XMLDocument],不知何原因