OCR文字识别

OCR文字识别

image.initOcr()

初始化OCR模块,百度PaddleOCR,具体请看相关文档,默认自带了Paddle的训练模型

@param map map参数表
key分别为:

  • modelDir: 百度Paddle OCR训练模型目录
  • labelFile: 百度Paddle OCR 文字文本路径

@return {bool} 布尔型 成功或者失败

function main() { let r = image.initOcr({}); logd(r) var request = image.requestScreenCapture(10000,0); if (!request) { request = image.requestScreenCapture(10000,0); } logd("申请截图结果... "+request) while(true){ sleep(1000) //let b = image.readBitmap("/sdcard/test.png"); var b = image.captureScreenBitmap("jpg",0,0,0,0,100); if (b) { let rs = image.ocrBitmap(b,10000); if (rs) { logd("rs "+JSON.stringify(rs)); } b.recycle(); } } } main();

image.ocrBitmap()

对Bitmap进行OCR
返回的是JSON数据,其中数据类似于与:

[{"label":"奇趣装扮三阶盘化","confidence":0.48334712,"points":[{"x":11,"y":25},{"x":239,"y":10},{"x":241,"y":43},{"x":13,"y":59}]},{"label":"快来加入威房箱物","confidence":0.6789893,"points":[{"x":183,"y":264},{"x":429,"y":249},{"x":432,"y":298},{"x":186,"y":313}]},{"label":"养成","confidence":0.5535166,"points":[{"x":317,"y":305},{"x":463,"y":284},{"x":470,"y":333},{"x":324,"y":354}]}]
  • label: 代表是识别的文字
  • confidence:代表识别的准确度
  • points: 代表坐标,有4个值,分别是:左上方,右上方,右下方,左下方

@param bitmap 图片
@param timeout 超时时间 单位毫秒
@return {JSON} JSON对象

function main() { let r = image.initOcr({}); logd(r) var request = image.requestScreenCapture(10000,0); if (!request) { request = image.requestScreenCapture(10000,0); } logd("申请截图结果... "+request) while(true){ sleep(1000) //let b = image.readBitmap("/sdcard/test.png"); var b = image.captureScreenBitmap("jpg",0,0,0,0,100); if (b) { let rs = image.ocrBitmap(b,10000); if (rs) { logd("rs "+JSON.stringify(rs)); } b.recycle(); } } } main();

image.releaseOcr()

释放OCR占用的资源

@return {bool} 成功或者失败

function main() { let r = image.initOcr({}); logd(r) var request = image.requestScreenCapture(10000,0); if (!request) { request = image.requestScreenCapture(10000,0); } logd("申请截图结果... "+request) while(true){ sleep(1000) //let b = image.readBitmap("/sdcard/test.png"); var b = image.captureScreenBitmap("jpg",0,0,0,0,100); if (b) { let rs = image.ocrBitmap(b,10000); if (rs) { logd("rs "+JSON.stringify(rs)); } b.recycle(); } } image.releaseOcr(); } main();