|
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);
¸´ÖÆ´úÂë//Õâ¸ö·½·¨ÊÇÁíÍâÌí¼ÓµÄ£¬Ëü¿ÉÒÔ°ÑͼƬ¶þÖµ»¯ºóÔÙʶ±ð£¬ÓÐÐèÒªµÄ¿ÉÒÔÊÔÒ»ÊÔ¡£
´ø¶þÖµ»¯µÄDEMO£º ¶þÖµ»¯µÄPaddLeOCR.rar
- ¸´ÖÆ// ¼ÓÔØ 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);
¸´ÖÆ´úÂë
|
|