B2B网络软件

标题: AIWROK软件里的PaddLeOCR里的OCR [打印本页]

作者: YYPOST群发软件    时间: 前天 09:30
标题: AIWROK软件里的PaddLeOCR里的OCR
AIWROK软件里的PaddLeOCR里的OCR
第一种方法
  1. //加载插件
  2. rhino.loadDex('PaddLeOCR.apk')
  3. var PaddLeOCR=com.LR.JZ.PaddLeOCR.Main;

  4. //初始化OCR插件
  5. var Err = PaddLeOCR.IniTiaLModeL()
  6. if(Err!=true){
  7.   printl("加载PaddLeOCR失败");
  8. }

  9. //文本检测模型 文件名带有Db的文件 数组下标1为param文件 下标2为bin文件
  10. var DbModeL = [
  11. project.getPluginsPath()+"PaddLeOCR_Db.param",
  12. project.getPluginsPath()+"PaddLeOCR_Db.bin"
  13. ];

  14. // 文本识别模型 文件名带有Rec的文件 数组下标1为param文件 下标2为bin文件
  15. var RecModeL = [
  16. project.getPluginsPath()+"PaddLeOCR_Rec.param",
  17. project.getPluginsPath()+"PaddLeOCR_Rec.bin"
  18. ];

  19. // 生成数据时创建的txt文件 又名: 标签文件 字典文件
  20. var LaBeL = project.getPluginsPath()+"Label.txt"

  21. // 加载模型
  22. var Err = PaddLeOCR.LoadModeL(LaBeL,DbModeL[0],DbModeL[1], RecModeL[0],RecModeL[1], 640, 2, false, "", "")
  23. if (Err != null){
  24.     printl("加载模型错误 原因: "+ Err)
  25. }

  26. var bitmap = screen.screenShot(640, 960, 100).getBitmap();
  27. var value=PaddLeOCR.Detect(bitmap,0.45, 0.55);
  28. printl(value);
复制代码
//这个方法是另外添加的,它可以把图片二值化后再识别,有需要的可以试一试。
带二值化的DEMO:二值化的PaddLeOCR.rar

  1. 复制// 加载 OCR 插件
  2. rhino.loadDex('PaddLeOCR.apk');
  3. var PaddLeOCR = com.LR.JZ.PaddLeOCR.Main;

  4. // 初始化 OCR 插件
  5. var Err = PaddLeOCR.IniTiaLModeL();
  6. if (Err != true) {
  7.     printl("加载PaddLeOCR失败");
  8. }

  9. // 文本检测模型
  10. var DbModeL = [
  11.     project.getPluginsPath() + "PaddLeOCR_Db.param",
  12.     project.getPluginsPath() + "PaddLeOCR_Db.bin"
  13. ];

  14. // 文本识别模型
  15. var RecModeL = [
  16.     project.getPluginsPath() + "PaddLeOCR_Rec.param",
  17.     project.getPluginsPath() + "PaddLeOCR_Rec.bin"
  18. ];

  19. // 标签文件
  20. var LaBeL = project.getPluginsPath() + "Label.txt";

  21. // 加载模型
  22. Err = PaddLeOCR.LoadModeL(LaBeL, DbModeL[0], DbModeL[1], RecModeL[0], RecModeL[1], 640, 2, false, "", "");
  23. if (Err != null) {
  24.     printl("加载模型错误 原因: " + Err);
  25. }

  26. // 进行屏幕截图
  27. var bitmap = screen.screenShot(640, 960, 100).getBitmap();

  28. // 引入 Android 和 OpenCV 的类
  29. importPackage(org.opencv.core);
  30. importPackage(org.opencv.imgproc);
  31. importPackage(org.opencv.android);
  32. importClass(android.graphics.Bitmap);

  33. // 将 Bitmap 转换为 OpenCV 的 Mat
  34. var mat = new Mat();
  35. Utils.bitmapToMat(bitmap, mat);

  36. // 进行二值化处理
  37. var binaryMat = new Mat();
  38. Imgproc.threshold(mat, binaryMat, 50, 150, Imgproc.THRESH_BINARY);

  39. // 将二值化后的 Mat 转换回 Bitmap
  40. var binaryBitmap = Bitmap.createBitmap(binaryMat.cols(), binaryMat.rows(), Bitmap.Config.ARGB_8888);
  41. Utils.matToBitmap(binaryMat, binaryBitmap);

  42. // 将二值化后的 Bitmap 传递给 OCR 进行文本检测
  43. var value = PaddLeOCR.Detect(binaryBitmap, 0.45, 0.55);
  44. printl(value);
复制代码
AIWROK软件里的PaddLeOCR里的OCR B2B网络软件







欢迎光临 B2B网络软件 (http://bbs.niubt.cn/) Powered by Discuz! X3.2