 | |  |  | AIWROK软件里的PaddLeOCR里的OCR
- //加载插件
- rhino.loadDex('PaddLeOCR.apk')
- var PaddLeOCR=com.LR.JZ.PaddLeOCR.Main;
- //初始化OCR插件
- var Err = PaddLeOCR.IniTiaLModeL()
- if(Err!=true){
- printl("加载PaddLeOCR失败");
- }
- //文本检测模型 文件名带有Db的文件 数组下标1为param文件 下标2为bin文件
- var DbModeL = [
- project.getPluginsPath()+"PaddLeOCR_Db.param",
- project.getPluginsPath()+"PaddLeOCR_Db.bin"
- ];
- // 文本识别模型 文件名带有Rec的文件 数组下标1为param文件 下标2为bin文件
- var RecModeL = [
- project.getPluginsPath()+"PaddLeOCR_Rec.param",
- project.getPluginsPath()+"PaddLeOCR_Rec.bin"
- ];
- // 生成数据时创建的txt文件 又名: 标签文件 字典文件
- var LaBeL = project.getPluginsPath()+"Label.txt"
- // 加载模型
- var Err = PaddLeOCR.LoadModeL(LaBeL,DbModeL[0],DbModeL[1], RecModeL[0],RecModeL[1], 640, 2, false, "", "")
- if (Err != null){
- printl("加载模型错误 原因: "+ Err)
- }
- var bitmap = screen.screenShot(640, 960, 100).getBitmap();
- var value=PaddLeOCR.Detect(bitmap,0.45, 0.55);
- printl(value);
复制代码第二种方法:
- 复制// 加载 OCR 插件
- rhino.loadDex('PaddLeOCR.apk');
- var PaddLeOCR = com.LR.JZ.PaddLeOCR.Main;
- // 初始化 OCR 插件
- var Err = PaddLeOCR.IniTiaLModeL();
- if (Err != true) {
- printl("加载PaddLeOCR失败");
- }
- // 文本检测模型
- var DbModeL = [
- project.getPluginsPath() + "PaddLeOCR_Db.param",
- project.getPluginsPath() + "PaddLeOCR_Db.bin"
- ];
- // 文本识别模型
- var RecModeL = [
- project.getPluginsPath() + "PaddLeOCR_Rec.param",
- project.getPluginsPath() + "PaddLeOCR_Rec.bin"
- ];
- // 标签文件
- var LaBeL = project.getPluginsPath() + "Label.txt";
- // 加载模型
- Err = PaddLeOCR.LoadModeL(LaBeL, DbModeL[0], DbModeL[1], RecModeL[0], RecModeL[1], 640, 2, false, "", "");
- if (Err != null) {
- printl("加载模型错误 原因: " + Err);
- }
- // 进行屏幕截图
- var bitmap = screen.screenShot(640, 960, 100).getBitmap();
- // 引入 Android 和 OpenCV 的类
- importPackage(org.opencv.core);
- importPackage(org.opencv.imgproc);
- importPackage(org.opencv.android);
- importClass(android.graphics.Bitmap);
- // 将 Bitmap 转换为 OpenCV 的 Mat
- var mat = new Mat();
- Utils.bitmapToMat(bitmap, mat);
- // 进行二值化处理
- var binaryMat = new Mat();
- Imgproc.threshold(mat, binaryMat, 50, 150, Imgproc.THRESH_BINARY);
- // 将二值化后的 Mat 转换回 Bitmap
- var binaryBitmap = Bitmap.createBitmap(binaryMat.cols(), binaryMat.rows(), Bitmap.Config.ARGB_8888);
- Utils.matToBitmap(binaryMat, binaryBitmap);
- // 将二值化后的 Bitmap 传递给 OCR 进行文本检测
- var value = PaddLeOCR.Detect(binaryBitmap, 0.45, 0.55);
- printl(value);
复制代码
| |  | |  |
|