[PAID] MlTBRek: Offline Text and Barcode recognition using ML Kit [$8 or 551]

1. Overview

The MlTBRek extension for App Inventor 2 and Kodular enables offline text recognition and barcode scanning using ML Kit. This extension offers modules for barcode and text recognition, including support for various scripts such as Latin, Devanagari, Chinese, Japanese, and Korean. Users can initialize text and barcode recognizers, install and check the availability of necessary modules, and recognize text or barcodes from images, file paths, or content URIs. The extension also provides events for handling module states, recognition results, and errors, making it a powerful tool for integrating advanced recognition features into your apps.

Latest Version: 4
Released: 2023-09-02T18:30:00Z
Last Updated: 2024-08-28T18:30:00Z
Aix Size: 1.2mb

2. Blocks

image

3. Docs

Events

ModulesInstalledEvent raised when modules have been installed
type | number
ModulesInstallFailedEvent raised when modules installation failed
type | number
errorMsg | text
ModulesStateUpdatedEvent raised when modules state changes
type | number
state | number
progress | number
GotModulesStateEvent raised after checking modules availability
type | number
areModulesAvailable | boolean
RecognisedTextEvent raised after getting text from image
text | text
blocks | list
UrlScannedEvent raised if url was found in barcode
title | text
url | text
ContactInfoScannedEvent raised if contact info was found in barcode
address | text
email | text
name | text
orgName | text
phone | text
title | text
urls | text
EmailScannedEvent raised if email was found in barcode
address | text
body | text
subject | text
type | number
WifiScannedEvent raised if wifi info was found in barcode
ssid | text
pswd | text
encryptionType | number
GeoPointScannedEvent raised if geo points were found in barcode
lat | number
lon | number
BarcodeScannedEvent raised when no specific type of barcode was found and given barcode was decoded in general
rawValue | text
barFormat | number
displayValue | text
BarRecognitionFailedEvent raised if barcode scanning failed
errorMsg | text
TextRecognitionFailedEvent raised if text recognition failed
errorMsg | text

Methods

BarRecognitionModulesModules for barcode recognition
TextRecognitionModulesModules for text recognition
langScript | number
InitTextRecognizerInitialize Text Recognizer
langScript | number
InstallModulesInstall deps of given type
type | number
ReleaseModulesInitiates a request to release given modules when they are no longer needed. This method notifies Google Play services that the modules are no longer needed for this app, but it does not guarantee the modules can be removed. Google Play services will try to clean up the modules when they are not used by any apps.
type | number
CheckModulesAvailabilityChecks given modules availability
type | number
RecogniseTextTries to recognize test from given input that can be an Image component, file path or content uri
image | any
InitBarRecognizerInitializes Barcode recognizer/scanner
RecogniseBarcodeTries to decode barcode from given input which can be an Image component, file path or content uri
image | any

Properties

DefaultScript
Property Type : read-only
Accepts : number
DevanagariScript
Property Type : read-only
Accepts : number
ChineseScript
Property Type : read-only
Accepts : number
JapaneseScript
Property Type : read-only
Accepts : number
KoreanScript
Property Type : read-only
Accepts : number

4. Usages

Install required modules

Check modules availability

Text Recognisation
First initialize recognizer.

Then provide input image to RecogniseText block.

RecognisedText event will be raised with result if recognition was successful otherwise TextRecognitionFailed event will be raised with error message.

blocks is a list of dictionaries. Each dictionary contains following keys:
- text : complete text
- lines : a list of lines
- angles : a list of angles corresponding to each line
- confidences : a list of confidence values corresponding to each line

All major language scripts are supported.

  • Latin
  • Devanagari
  • Chinese
  • Japanese
  • Korean


Barcode Recognition

Initialize Barcode recogniser.
image

Then provide input image to RecogniseBarcode block.
image

Result will be delivered via different events based upon type of barcode.

It reads the following barcode formats:

It automatically parses QR Codes, Data Matrix, PDF-417, and Aztec values, for the following supported formats:

  • URL
  • Contact information (VCARD, etc.)
  • WiFi
  • Geo-location (latitude and longitude)

more will be added on demand.

5. Demo Video

6. Purchase

Thank you.
Hope it helps!

4 Likes

Is it possible to read license plates?
here in Brazil, the signs (image attached) have information about the city and state.
How can I not read this information?
placas

Yes it can.

I can provide a demo apk if you want.

2 Likes

Provide Apk We Will Test

Tested and Extension works fine

1 Like

Beta testing for upcoming version has been started.
So, ML Kit upgrade on the way within a month.
I am by far the laziest extension developer. :joy:

Please send me Beta version

You already have.
The one I sent you for Tamil text recognition and it didn't work due to Tamil not supported.

Oh, i think another new version with Tamil support also available.

Tamil is not supported unfortunately.

Oh it's ok,

any new version update send me after released

ChangeLog Version 2 :warning:

  • Rename extension to MlTBRek from SimpleRecognition

  • Some new blocks added and few blocks removed

  • Upgrade to ML Kit
    Brings dynamic deps management and thus effectively reducing aix size to just 1.1mb

  • Major internal changes wherever there was room for improvement
    Like support for Hindi and other Devanagari Script langs

  • Recognise blocks can accept Image component, File Path or Content Uri

  • Completely offline purchase verification

where can i download or purchase

After sending 8$ to below link

DM @vknow360 to get the extension

2 Likes

Hi, can you send me Demo APK.

Demo Video:

ChangeLog Version 3

  • Aix size reduced to 1.1 mb
  • Extension won't crash Companion now
    Though none of its blocks will work.
  • No-conflict version to resolve deps conflict with my other ML Kit extensions like ImageLabelling and ScanKit

hi @vknow360 Can you also add the languages: Korean, Chinese, and Japanese?

Yes, definitely.

1 Like

I am eagerly awaiting your next update and am ready to purchase this extension. Please keep up the good work. You are the most dedicated and skilled extension developer I know

1 Like