函数名称

OcrEx文字识别(增强版)

函数功能

返回指定区域内所有识别到的文本,无需自制字库,识别范围越小,效率越高,结果越准确

注意:安卓版按键APP需在设置页下载安装【ocrEx组件库】,如主程序(不含插件、命令库)使用到该函数,则在打包小精灵时会自动添加组件,无需自行下载,但包体会有所变大

如需在插件、命令库中使用,可在主程序中加入以下代码实现小精灵添加组件:

sub 占位()
    ocrEx(0,0,0,0)
end sub

支持版本:手机助手v4.0.0、iOS新版v2.0.0、安卓版v3.8.0及以上版本

支持系统:iOS13、安卓5及以上版本系统

函数语法

result = OcrEx (leftX,topY,rightX,bottomY[,mode,language,options])

函数参数

参数名 参数类型 是否必选 参数说明
leftX int 识别区域的左上角x坐标
topY int 识别区域的左上角y坐标
rightX int 识别区域的右下角x坐标
bottomY int 识别区域的右下角y坐标
mode int 识别模式,0:精准模式,1:快速模式,默认:0
language string 识别语种,支持多语种,分隔符”,“,默认:”0”
“0”:中文+英文
“1”:中文
“2”:英文
options table 扩展参数集合,用于额外配置和未来扩展

options包含的字段

字段名 字段类型 字段说明
modelType string 模型类型,默认:default
default:默认模型
paddleV5:飞桨v5,iOS13系统默认模型不支持中文,需使用该模型,由于精度提高所耗性能也会提高,建议x或以上机型使用该模型
该参数支持版本:iOS新版v2.7.0或以上版本引擎

函数返回

返回名 返回类型 返回说明
result table 返回含有数组的键值表的响应结果信息,如存在n个结果,则table长度为n

result 包含的字段

字段名 字段类型 字段说明
text string 识别到的文本内容
x int 识别到文本区域的左上角x坐标
y int 识别到文本区域的左上角y坐标
h int 识别到文本区域的高度
w int 识别到文本区域的宽度
score float 识别到文本区域的可信度

代码范例

//1:在全屏范围内识别文本、精准模式、中文+英文
Dim ret,ranTime
Do
    ranTime = TickCount()
    ret = OcrEx (0,0,0,0)
    TracePrint TickCount()-ranTime
    If Len(ret) = 1 and ret[1] = "" Then 
        TracePrint "没有识别到文本"
    Else 
        For i = 1 to len(ret)
            TracePrint "识别到目标:" & ret[i]["text"] &_
            ",左上角x坐标:" & ret[i]["x"] &_
            ",左上角y坐标:" & ret[i]["y"] &_
            ",区域宽:" & ret[i]["w"] &_
            ",区域高:" & ret[i]["h"] &_
            ",可信度:" & ret[i]["score"]
        Next  
    End If
    Delay 1000
Loop

//2:使用飞浆v5模型,暂只支持iOS新版v2.7.0或以上版本引擎
Dim ret,ranTime
Do
    ranTime = TickCount()
    ret = OcrEx (0,0,0,0,0,"0",{"modelType":"paddleV5"})
    TracePrint TickCount()-ranTime
    If Len(ret) = 1 and ret[1] = "" Then 
        TracePrint "没有识别到文本"
    Else 
        For i = 1 to len(ret)
            TracePrint "识别到目标:" & ret[i]["text"] &_
            ",左上角x坐标:" & ret[i]["x"] &_
            ",左上角y坐标:" & ret[i]["y"] &_
            ",区域宽:" & ret[i]["w"] &_
            ",区域高:" & ret[i]["h"] &_
            ",可信度:" & ret[i]["score"]
        Next  
    End If
    Delay 1000
Loop

备注说明