Jump to: navigation, search


Optical Character Recognition, abbreviated as OCR, is the automatic text recognition using a respective algorithm on an image (originating from a live camera feed, for example).

UBIK® Clients are capable of OCR for the sake of identifying objects.


Up till version 2.4.3, the optical code classification must be present on objects in order for them to be found. In later versions, the classification Object with OCR Text Classification must be used. Up till version 4.7, the object to be found has to be available on the device, since online search currently is not enabled for this feature.

Offline search

In any case (regardless of the network connection and sync mode), UBIK® always goes through all suitable objects (carrying SYSCLS OBJECTWITHOCRTEXT) currently available on the device and finds the ones that match the scanned results.

Online search

When the Internet is available, UBIK® is not running under offline mode and there is an online query carrying SYSCLS OCRSCANQUERY in the infrastructure, the search result is enhanced by online search. This means any objects that match the scanned results can be found even if they don't yet exist locally.

Unlike some other types of scan (e.g. RFID), OCR scan often produces very volatile/unstable results continuously. Therefore, UBIK® requires a user confirmation before triggering online searches which are costly compared to offline searches. After confirming the current scanned OCR text, there is also the possibility to manually correct it before the search.

UI and customizability

When OCR scan is turned on, you will find additionally a text input field as well as two buttons in the scan page.

  • One button allows you to confirm the current scanned OCR text and display it in the text input field.
  • One button allows you to trigger a search (offline & online when applicable) using the confirmed OCR text.
  • One text input field displays the confirmed OCR text and also allows you to manually change/correct that text.
IC Hint square.pngThe standard UI described above is fully customizable. The implementations can be found in UBIKScanAreaFlyout.xaml (WinX/UWP) and UBIKScanArea.xamlx (Xamarin).

The relevant properties of the data context (ScanViewModel) include the following.

  • ScanResult.Value: The text value of the current OCR result. This constantly updates as you scan.
  • ConfirmedScanResult.Value: The text value of the confirmed OCR result. This does not update by itself and should be set/changed explicitly through user input or UI customizing.
  • ProcessConfirmedMarkerCommand: The command to trigger a search (offline & online when applicable) using ConfirmedScanResult. If the latter is not yet set, the command does nothing.
  • FirstScanResult: The first OCR scan result in the current scan session. Unlike ScanResult, this no longer updates after the very first value is set. This is useful when you want e.g. a behavior to automatically confirm the first scan result.

See also