函数:baiduQR 百度二维码识别
TSLib 版本:仅支持 v1.4.6 及其以上版本
函数功能:将二维码图片解析为字符串
函数方法
bool,msg = baiduQR(access_token,pic_name,tab)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| access_token | string | 是 | getAccessToken 函数返回的 access_token 值 |
| pic_name | string | 是 | 图片路径,图片路径支持本地图片路径:image、 网络图片:url、pdf:pdf_file 及 OFD文件:ofd_file, 具体内容详见下方参数介绍 |
| tab | table | 否 | 使用语言、是否检测图像朝向、是否检测语言等, 更详细内容请点击百度 API 文档查看 |
pic_name 参数介绍
image、url、 pdf_file、ofd_file 四选一
优先级:image > url > pdf_file > ofd_file,当 image、url、pdf_file 字段存在时,ofd_file 字段失效
图片尺寸:最短边至少 15px,最长边最大 4096px
图片格式:支持 jpg/jpeg/png/bmp 格式
| 参数 | 说明 |
|---|---|
| image | 本地图片路径,图像数据, base64 编码后进行 urlencode, 要求 base64 编码和 urlencode 后大小不超过 4M |
| url | 图片完整 URL,URL 长度不超过 1024 字节, URL 对应的图片 base64 编码后大小不超过 4M |
| pdf_file | PDF 文件,base64 编码后进行 urlencode, 要求 base64 编码和 urlencode 后大小不超过 8M |
| ofd_file | OFD 文件,base64 编码后进行 urlencode, 要求 base64 编码和 urlencode 后大小不超过 8M |
tab 参数介绍
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pdf_file_num | string | 否 | 需要识别的 PDF 文件的对应页码, 当 pic_name 为 pdf_file 参数有效时, 识别传入页码的对应页面内容, 空则默认识别第 1 页 |
| ofd_file_num | string | 否 | 需要识别的 OFD 文件的对应页码, 当 pic_name 为 ofd_file 参数有效时 识别传入页码的对应页面内容, 空则默认识别第 1 页 |
| location | string | 否 | 是否输出二维码/条形码位置信息 false:默认值,不返回位置信息; true:返回图中二维码/条形码的位置信息,包括上边距、左边距、宽度、高度 |
| 返回值 | 类型 | 说明 |
|---|---|---|
| code | boolean | true - 识别成功,false - 识别失败 |
| body | string | 识别成功识别结果、位置等内容, 返回值中的具体内容请点击百度 API 文档查看,失败返回报错信息 |
函数用例
--示例不可直接使用
--账号、密码需要替换成在百度智能云网站创建应用后生成的账号(API Key)和密码(Secret Key)
--具体操作流程详见下方注意事项
local API = "gis24ABfU1CUw"
local Secret = "pzgcZjWppHsO1"
require "TSLib"
local m=TSVersions()
local ts = require("ts")
local a = ts.version()
local tp = getDeviceType()
if m <= "1.4.5" then
dialog("请使用 v1.4.6 及其以上版本 TSLib")
end
if 0 <= tp and tp <= 2 then
if a <= "1.3.9" then
dialog("请使用 iOS v1.4.0 及其以上版本 ts.so")
end
elseif 3 <= tp and tp <= 4 then
if a <= "1.1.0" then
dialog("请使用安卓 v1.1.1 及其以上版本 ts.so")
end
end
local code1,access_token = getAccessToken(API,Secret)
if code1 then
local bool,msg = baiduQR(access_token,userPath() .. "/res/tsqr3.jpg")
if bool then
dialog("识别成功:"..msg,10)
else
dialog("识别失败:"..msg,10)
end
else
dialog("获取 access_token 失败\n" .. access_token)
end
注意事项
获取百度 API 应用账号和密码流程详见函数:getAccessToken。