This is a wrap for this Github project. It is a SUPER OCR (Optical Character Recognition) app. I have even managed to read motor car number plates with it! Posting the following:
1. B4A sample project (it will only work with B4A V6.00)
2. B4A library files
3. resource.zip - extract it and copy the resource folder to be on the same folder level as that of the /Files and /Objects folders of the B4A project
4. OCRres.zip - extract it and copy the OCRres folder to be on the same folder level as that of the /Files and /Objects folders of the B4A project
You need to have the Google Repository installed (via the SDK manager). I have Google Repository V32 installed.
I am using this on a Samsung S4 mini with KitKat.
This is the libraries that I have enabled in my B4A project:
You will need the following jars in your additional library folder:
android-support-design.jar
android-support-v4.jar
android-support-v7-appcompat.jar
android-support-annotations.jar
You will also need the following libraries by @corwin42 (download from the forum):
AppCompat V3.20 - https://www.b4x.com/android/forum/t...compatible-with-older-android-versions.48423/
DesignSupport V2.00 - https://www.b4x.com/android/forum/threads/designsupport-additional-material-design-components.58893/
Click on Detect Text to start the OCR (you can set the flash mode as well as autofocus).
Touch any of the highlighted blocks of text - I have clicked on the big block:
Just another sample of the OCR capability:
Can do some mods to bring back info to the B4A project via an event from the library....
Sample Code:
Library as it is at present:
AndroidVisionOCR
Author: Github: Benjamin Johns, Wrapped by: Johan Schoeman
Version: 1
Take note of the B4A manifest Files:
1. B4A sample project (it will only work with B4A V6.00)
2. B4A library files
3. resource.zip - extract it and copy the resource folder to be on the same folder level as that of the /Files and /Objects folders of the B4A project
4. OCRres.zip - extract it and copy the OCRres folder to be on the same folder level as that of the /Files and /Objects folders of the B4A project
You need to have the Google Repository installed (via the SDK manager). I have Google Repository V32 installed.
I am using this on a Samsung S4 mini with KitKat.
This is the libraries that I have enabled in my B4A project:
You will need the following jars in your additional library folder:
android-support-design.jar
android-support-v4.jar
android-support-v7-appcompat.jar
android-support-annotations.jar
You will also need the following libraries by @corwin42 (download from the forum):
AppCompat V3.20 - https://www.b4x.com/android/forum/t...compatible-with-older-android-versions.48423/
DesignSupport V2.00 - https://www.b4x.com/android/forum/threads/designsupport-additional-material-design-components.58893/
Click on Detect Text to start the OCR (you can set the flash mode as well as autofocus).
Touch any of the highlighted blocks of text - I have clicked on the big block:
Just another sample of the OCR capability:
Can do some mods to bring back info to the B4A project via an event from the library....
Sample Code:
B4X:
#Region Project Attributes
#ApplicationLabel: b4aAndroidVisionOCR
#VersionCode: 1
#VersionName:
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False
#End Region
#AdditionalRes: ..\resource
#AdditionalRes: ..\OCRres
'#AdditionalRes: C:\Users\----------2\Documents\Basic 4 Android\JOHAN APPS\JHS LIBS\resource\b4a_appcompat, de.amberhome.objects.appcompat
'#AdditionalRes: C:\ANDRIOD_SDK_TOOLS\extras\android\support\v7\appcompat\res, android.support.v7.appcompat
'#AdditionalRes: C:\ANDRIOD_SDK_TOOLS\extras\google\google-play-services\libproject\google-play-services_lib\res, com.google.android.gms
'#AdditionalRes: C:\ANDRIOD_SDK_TOOLS\extras\android\support\design\res, android.support.design
'#ExcludeClasses: .games, .drive, .ads, .fitness, .wearable, .measurement, .cast, .auth, .nearby
'#ExcludeClasses: .tagmanager, .analytics, .wallet, .plus, .gcm, .maps, .panorama
'#Extends: android.support.v7.app.AppCompatActivity
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Private Button1 As Button
Dim avocr As AndroidVisionOCR
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
Activity.LoadLayout("main")
avocr.Initialize("")
avocr.OCRtextColor = Colors.Yellow
avocr.OCRtextSize = 30.0
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub Button1_Click
avocr.StartCameraFilter
End Sub
Library as it is at present:
AndroidVisionOCR
Author: Github: Benjamin Johns, Wrapped by: Johan Schoeman
Version: 1
- AndroidVisionOCR
Fields:- OCRtextColor As Int
- OCRtextSize As Float
- Initialize (paramString As String)
- IsInitialized As Boolean
- StartCameraFilter
- android.permission.CAMERA
Take note of the B4A manifest Files:
B4X:
'This code will be applied to the manifest file during compilation.
'You do not need to modify it in most cases.
'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136
AddManifestText(
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23"/>
<supports-screens android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"/>)
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
SetApplicationAttribute(android:theme, "@style/MyAppTheme")
AddApplicationText(<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.gms.vision.DEPENDENCIES"
android:value="ocr" />
<activity
android:name="com.google.android.gms.samples.vision.ocrreader.MainActivity"
android:label="@string/title_activity_main" >
</activity>
<activity android:name="com.google.android.gms.samples.vision.ocrreader.OcrCaptureActivity"
android:label="Read Text" />)
AddPermission(android.permission.CAMERA) ' Required to be able to access the camera device.
AddPermission(android.permission.GET_TASKS)
AddPermission("android.hardware.camera")
AddPermission("android.permission.FLASHLIGHT")
Attachments
Last edited: