Hello Gabriel, Could you make it ?
2012/9/13 Jean-Jérôme Sarrasin <[email protected]> > Yes, as you say, it's not the best because it doubles the size needed, but > it's better than "getExternalDir" as it's in the application directory. > > The last solution as you say is to modify the tesseract source. After some > research, It should be possible. Here are some hints: > - Access to asset from native code: > https://groups.google.com/forum/?fromgroups=#!topic/android-ndk/MLn1q_SDR6A > - The path is load in the "getpath" function at the line 40 of the > basedir.cpp if you use tess-two. > > Give us a feedback if you could make it work. > > > > > 2012/9/13 Napalm <[email protected]> > >> I modified my project using GetFilesDir(), it's solution is not ideal >> because i do copies at app execution. Now I will try to modify tesseract >> source code to read trainneddatas from the tessdata directory on api. For >> me is the last chance. >> >> Other ideas? >> >> Thanks >> >> Em quarta-feira, 12 de setembro de 2012 15h54min46s UTC-3, Hrk escreveu: >>> >>> You can't get the path to asset manager as it is packed in the >>> application file. The best solution as I said is to try to copy the file in >>> your application directory through the "getFilesDir" function: http://** >>> developer.**android.com/**reference/android/**content/**Context.html#** >>> getFilesDir()<http://developer.android.com/reference/android/content/Context.html#getFilesDir()> >>> >>> >>> >>> 2012/9/12 Napalm <gabriel.no...@gmail.**com> >>> >>> Using getExternalStorageDirectory not resolves the problem, in the >>>> source code he copies trained data from assetManager to the root folder of >>>> android. For me it's not good solution. If I can pass path from the >>>> tessdata directory direct from my AssetManager or using another approach >>>> that not uses statical paths(including external paths from the app such as >>>> getExternalStorageDirectory ) or do copies would better. >>>> >>>> The better solution would add trained languages in the app and use them >>>> without any copy or acessing external paths. The AssetManager would be a >>>> good solution, i can create a tessdata folder and insert all trained data. >>>> But i don't know how to get path from AssetManager that i can put to the >>>> tesseract initialization. >>>> >>>> if anyone has any ideas would greatly help my progress, thanks. >>>> >>>> Em quarta-feira, 12 de setembro de 2012 10h37min15s UTC-3, Hrk escreveu: >>>>> >>>>> Have a look at: >>>>> https://github.com/**GautamGupta**/Simple-Android-**OCR/blob/** >>>>> master/src/com/**datumdroid/**android/ocr/simple/**SimpleAndro** >>>>> idOCRActivity.java<https://github.com/GautamGupta/Simple-Android-OCR/blob/master/src/com/datumdroid/android/ocr/simple/SimpleAndroidOCRActivity.java> >>>>> >>>>> They use the getExternalStorageDirector****y Android function. It >>>>> stores the data on the common storage, but you can try to use >>>>> "getFilesDir": http://**develope**r.android.com/**reference/** >>>>> android/content/**Context.html#**getFilesDir()<http://developer.android.com/reference/android/content/Context.html#getFilesDir()> >>>>> >>>>> I'm not sure the NDK Tesseract project will have access to this >>>>> storage that is linked to the application, but it should. >>>>> >>>>> Keep us informed >>>>> >>>>> >>>>> >>>>> 2012/9/12 Napalm <gabriel.no...@gmail.**com> >>>>> >>>>>> I'm using tesseract for android and dont know how to include >>>>>> trainned data languages in to my application. I'm seeing that most people >>>>>> use static path to the tessdata. The code below show this: >>>>>> >>>>>> TessBaseAPI ocrManager = new TessBaseAPI(); >>>>>> if(!ocrManager.init("/mnt/**sdca**rd/", "eng")){ >>>>>> Log.e(TAG, "Error on tesseract..."); >>>>>> } >>>>>> >>>>>> It's not good because if I install my app in another device must copy >>>>>> manually the trained language to the /mnt/sdcard/tessdata/. >>>>>> >>>>>> Another approach is to include language data to the app AssetManager. >>>>>> But if not mistaken its not possible to gets path from AssetManager. A >>>>>> workaround is to copy trained language to an statical path that i showed >>>>>> in >>>>>> code above. Again it's bad because app generates files outside your >>>>>> memory >>>>>> space. >>>>>> >>>>>> It's possible to include somehow the trained data in my app and use >>>>>> it in tesseract initialization without any workaround(statical path or >>>>>> copy >>>>>> to statical path)? >>>>>> >>>>>> Thanks >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "tesseract-ocr" group. >>>>>> To post to this group, send email to [email protected] >>>>>> >>>>>> To unsubscribe from this group, send email to >>>>>> tesseract-oc...@**googlegroups.**com >>>>>> >>>>>> For more options, visit this group at >>>>>> http://groups.google.com/**group**/tesseract-ocr?hl=en<http://groups.google.com/group/tesseract-ocr?hl=en> >>>>>> >>>>> >>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "tesseract-ocr" group. >>>> To post to this group, send email to [email protected] >>>> To unsubscribe from this group, send email to >>>> tesseract-oc...@**googlegroups.com >>>> For more options, visit this group at >>>> http://groups.google.com/**group/tesseract-ocr?hl=en<http://groups.google.com/group/tesseract-ocr?hl=en> >>>> >>> >>> -- >> You received this message because you are subscribed to the Google >> Groups "tesseract-ocr" group. >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> For more options, visit this group at >> http://groups.google.com/group/tesseract-ocr?hl=en >> > > -- You received this message because you are subscribed to the Google Groups "tesseract-ocr" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/tesseract-ocr?hl=en

