How to convert an image of text into a binary view in Salesforce Apex using Deep Learning

The process of binarization, or converting an image into pure black and white is a very necessary step in the preprocessing phase of OCR. Without well performed binarization, the optical character recognition will either fail or be reduced in accuracy. However, this conversion is not as simple as you might think, requiring cutting-edge Deep Learning to achieve quality results. Instead of spending a week training an AI, I’m going to show you how to get this done in minutes.

First download this file and extract the client folder into your Apex project.

https://github.com/Cloudmersive/Cloudmersive.APIClient.Apex.OCR/archive/master.zip

Now we are going to go ahead and call preprocessingBinarizeAdvanced, like we see down here:

SwagPreprocessingApi api = new SwagPreprocessingApi();SwagClient client = api.getClient();// Configure API key authorization: ApikeyApiKeyAuth Apikey = (ApiKeyAuth) client.getAuthentication('Apikey');Apikey.setApiKey('YOUR API KEY');Map<String, Object> params = new Map<String, Object>{'imageFile' => Blob.valueOf('Sample text file\nContents')};try {// cross your fingersBlob result = api.preprocessingBinarizeAdvanced(params);System.debug(result);} catch (Swagger.ApiException e) {// ...handle your exceptions}

Done.

Image for post
Image for post

Written by

There’s an API for that. Cloudmersive is a leader in Highly Scalable Cloud APIs.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store