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

yizhihongxing

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

步骤一:注册百度智能云

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

步骤二:获取百度智能云的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制作检测Linux运行信息的工具的教程

    下面是制作检测Linux运行信息的工具的教程的完整攻略,分为如下几个步骤: 1. 确定监测信息 首先,我们需要确定希望监测的信息,以决定需要获取哪些数据。针对Linux环境,常见的监测信息有:CPU利用率、内存使用率、磁盘空间、网络流量等等。 2. 学习Python操作Linux的API Python可以通过subprocess模块执行Linux命令,从而获…

    人工智能概览 2023年5月25日
    00
  • OpenCV计算轮廓长度/周长和面积

    首先,计算轮廓长度/周长和面积需要使用到OpenCV库中的cv2.contourArea()和cv2.arcLength()函数。在计算前需要先检测出轮廓。 以下是计算轮廓长度/周长和面积的详细攻略: 1. 导入库 import cv2 import numpy as np 2. 读取并预处理图像 image = cv2.imread(‘test.jpg’)…

    人工智能概论 2023年5月25日
    00
  • NodeJs操作MongoDB教程之分页功能以及常见问题

    下面给出“NodeJs操作MongoDB教程之分页功能以及常见问题”的完整攻略: 一、前言 在进行分页操作之前,需要先在 MongoDB 数据库中存入一些数据,可以使用如下示例代码: // index.js const mongoose = require(‘mongoose’); mongoose.connect(‘mongodb://localhost/…

    人工智能概论 2023年5月25日
    00
  • 从生成CRD到编写自定义控制器教程示例

    下面是关于从生成CRD到编写自定义控制器的详细攻略: 1. 生成CRD 首先,我们需要通过Kubernetes API来自定义资源并创建CRD。CRD是Custom Resource Definition的缩写,表示自定义资源定义。在Kubernetes中,自定义资源是指我们可以定义和使用的API资源类型,比如我们可以定义一个名为MyResource的自定义…

    人工智能概览 2023年5月25日
    00
  • win7平台快速安装、启动mongodb的方法

    以下是“win7平台快速安装、启动mongodb的方法”的完整攻略: 安装 MongoDB 访问 MongoDB 官网(https://www.mongodb.com/download-center/community)下载 64 位 Windows 版本的 MSI 文件。 运行 MSI 文件,按照提示进行安装。在安装目标目录选择时,建议选择一个简单的目录,…

    人工智能概论 2023年5月25日
    00
  • 详解MongoDB和Spring整合的实例代码

    实现MongoDB和Spring整合可以分为以下几个步骤: 添加Maven依赖: <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <ver…

    人工智能概论 2023年5月25日
    00
  • PHP Beanstalkd消息队列的安装与使用方法实例详解

    PHP Beanstalkd消息队列的安装与使用方法实例详解 简介 Beanstalkd是一个轻量级的消息队列系统,可用于异步处理任务或消息。它是一个面向客户端的TCP协议,支持多个生产者和消费者,支持多种编程语言。本攻略介绍了如何在PHP中使用Beanstalkd消息队列。 安装 步骤1:安装Beanstalkd 首先,需要在服务器上安装Beanstalk…

    人工智能概览 2023年5月25日
    00
  • cv2.imread 和 cv2.imdecode 用法及区别

    cv2.imread与cv2.imdecode都是OpenCV提供的图像读取函数。它们的作用是用于读取图像文件以获取图像数据,但是它们之间存在一些区别。 cv2.imread cv2.imread函数用于读取常见的图像格式,如 BMP、JPEG、PNG、PBM、PGM、PPM 和 TIFF 格式的图像。当使用cv2.imread函数读取图像时,函数的返回值是…

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