易语言调用百度图片识别实现的图片转表格的代码

下面详细讲解一下“易语言调用百度图片识别实现的图片转表格的代码”的攻略流程。

步骤一:注册百度智能云

在百度云中心注册一个账号,并进入智能云控制台。在控制台中创建一个新项目,开通"文字识别"服务。

步骤二:获取百度智能云的API Key和Secret Key

在控制台“文字识别”服务下的"如何调用API"页面上找到"API Key"和"Secret Key",保存下来。

步骤三:编写易语言中的代码

在易语言中调用百度API,实现图片转表格的功能。以下是示例代码:

//导入所需的模块
导入 公共模块.XML操作.dll
导入 网络.网络.dll

//设置请求header
变量 $header 表列[0]="Content-Type:application/json"
表添加($header,"Host=aip.baidubce.com")
表添加($header,"Connection=Keep-Alive")

//设置请求参数
变量 $param 表列[0]["image"]="图片的base64编码"
表添加($param,"access_token=API Key")
表添加($param,"detect_direction=true")
表添加($param,"probability=true")
表添加($param,"accurate=false")
表添加($param,"type=excel")

//发起请求
变量 $result 网络.HTTP_POST请求("https://aip.baidubce.com/rest/2.0/solution/v1/form_ocr/request",$header,$param)

//处理返回结果
变量 $request_id 字符串.取值($result,"\"request_id\": \"","\"")
循环 直到 请求结果已得到
    变量 $result2 网络.HTTP_GET请求("https://aip.baidubce.com/rest/2.0/solution/v1/form_ocr/get_request_result?request_id=" + $request_id)
    如果 字符串.包含($result2,"\"result_data\": {") 则 跳出循环
    流程.延时(3000) //等待3秒钟后再次请求
循环结束

//提取表格数据
变量 $table_start 字符串.查找($result2,"<table>")
变量 $table_end 字符串.查找($result2,"</table>")
变量 $table_html 字符串.子串($result2,$table_start + 7,$table_end - $table_start - 7)
变量 $table_xml "<?xml version=\"1.0\" encoding=\"UTF-8\"?><html>" + $table_html + "</html>"
变量 $table 数据转换.从XML读取($table_xml,"tr,td")

//输出结果
消息框.弹出($table)

步骤四:示例说明

示例一

在易语言中,假设有一张名为"test.jpg"的图片,图片路径为"C:\Images\test.jpg"。可以通过下面的代码将其转化为base64编码,并调用百度API来获取识别后的表格数据:

//将图片转为base64编码
变量 $image_base64 字符串.读取文件("C:\Images\test.jpg",0,0,"BASE64")

//请求参数中添加图片的base64编码
表添加($param,"image=" + $image_base64)

示例二

通过上述代码,可以将图片转为表格数据。接下来可以将表格数据保存到Excel文件中。示例代码如下:

//创建Excel文件
变量 $excel COM组件对象.创建对象("Excel.Application")
变量 $workbook COM组件对象.调用成员($excel,"Workbooks.Add")
变量 $worksheet COM组件对象.调用成员($workbook,"ActiveSheet")

//将表格数据填入Excel中
循环 从0 到 在表格中.取行数() - 1
    变量 $rowdata 表格中.取行($当前数值)
    循环 从0 到 在$rowdata.取列数() - 1
        变量 $celldata 在$rowdata.取列($当前数值)
        如果 $celldata.取值() != "" 则
            COM组件对象.调用成员($worksheet,"Cells").Item($当前数值 + 1,$当前循环 + 1).Value = $celldata.取值()
        否则
            COM组件对象.调用成员($worksheet,"Cells").Item($当前数值 + 1,$当前循环 + 1).Value = " "
        如果结束
    循环结束

//保存Excel文件
COM组件对象.调用成员($workbook,"SaveAs")("C:\Output\test.xlsx")
COM组件对象.调用成员($excel,"Quit")

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:易语言调用百度图片识别实现的图片转表格的代码 - Python技术站

(0)
上一篇 2023年5月25日
下一篇 2023年5月25日

相关文章

  • python实现RGB与YCBCR颜色空间转换

    下面是详细讲解“python实现RGB与YCBCR颜色空间转换”的完整攻略。 一、RGB与YCBCR颜色空间介绍 RGB颜色空间是红、绿、蓝三原色组成的颜色空间,是最为常见和广泛应用的颜色空间。 YCBCR颜色空间是一种颜色编码方式,是黑白电视广播领域的一种信号编码方式。在彩色电视广播信号的传输中广泛应用,由于它的明度信号和色度信号是分离的,所以比RGB编码…

    人工智能概览 2023年5月25日
    00
  • Django中FilePathField字段的用法

    下面我将详细讲解”Django中FilePathField字段的用法”: 简介 Django中的FilePathField字段是用于表示文件路径的字段类型,它可以让我们在后台管理界面中选择一个现有的路径,从而避免手动输入路径的麻烦。 示例 示例1:在模型中使用FilePathField字段 考虑下面的MyModel模型,它有一个file_path字段,类型为…

    人工智能概览 2023年5月25日
    00
  • Java常用API类之Math System tostring用法详解

    Java常用API类之Math System tostring用法详解 Math类 Math类是Java.lang下的一个类,它提供了很多基本的数学函数,包括三角函数、对数函数、次方函数等等。Math类中的方法为静态方法,也就是说可以直接通过类名调用方法。 常用方法 round方法 round是Math类的一个静态方法,作用是将一个float或double类…

    人工智能概览 2023年5月25日
    00
  • MongoDB分片键的选择和案例实例详解

    关于”MongoDB分片键的选择和案例实例详解”的攻略,我可以提供以下内容: 1. 什么是MongoDB分片键? MongoDB分片是一种横向扩展的方式,一般通过分片键来进行数据划分和分布式存储。分片键是用于划分数据和分发到不同的Shard节点上的字段或字段组合。MongoDB中允许指定多个分片键来构建复合分片键。 2. MongoDB分片键的选择 在选择M…

    人工智能概论 2023年5月25日
    00
  • 利用Django内置的认证视图实现用户密码重置功能详解

    针对“利用Django内置的认证视图实现用户密码重置功能详解”,我会给出如下完整攻略: 一、认证视图和密码重置功能简介 Django是Python语言最流行的Web开发框架之一,它内部提供了很多方便的功能,其中就包括了用户认证机制和密码重置功能。在使用Django开发Web应用的过程中,我们通常都会涉及到用户认证和密码管理的问题,而Django内置的认证视图…

    人工智能概览 2023年5月25日
    00
  • 教你搭建dns服务器(图文教程)

    这里为大家详细讲解如何搭建DNS服务器的完整攻略。 什么是DNS服务器 DNS服务器(Domain Name System Server)是一种Internet上的分布式数据库,用于将域名转换为IP地址。它负责将输入的域名查询信息转换为对应的IP地址,让用户能够通过域名访问网站、发送邮件等。 搭建DNS服务器的步骤 步骤一:购买域名和VPS 首先,需要购买一…

    人工智能概览 2023年5月25日
    00
  • pytorch 自定义数据集加载方法

    下面我来为你详细讲解“PyTorch 自定义数据集加载方法”的完整攻略。 1. 前置条件 在开始介绍如何自定义数据集加载方法之前,需要先了解以下几个前置条件: 了解PyTorch库,包括张量(Tensor)、数据集(Dataset)、变换(Transforms)、数据读取器(DataLoader)等基本概念; 数据集文件按要求格式存储,例如:每张图片的地址和…

    人工智能概论 2023年5月25日
    00
  • SpringCloud Gateway的熔断限流配置实现方法

    SpringCloud Gateway是一种基于SpringBoot的网关服务,提供了许多强大的功能,包括熔断器和限流器,可以帮助我们实现服务的高可用和高并发。下面我将详细讲解SpringCloud Gateway的熔断限流配置实现方法,通过两个实例来帮助大家更好地理解。 添加依赖 在pom.xml文件中添加以下依赖: <dependency> …

    人工智能概览 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部