How to straighten a document image with Python using Deep Learning

If you want to get the very best results when using optical character recognition, it is necessary to process the image in advance. Besides binarization, the most important preprocessing procedure is straightening out the image. Today we will be using Deep Learning to accomplish this, providing very high accuracy indeed. Don’t worry, though, we will not be setting this up from scratch. Instead of a lengthy AI training session, we will whip out an API that has this capability.

First comes our installation:

pip install cloudmersive-ocr-api-client

And here we have the code needed for our function call from the API:

from __future__ import print_functionimport timeimport cloudmersive_ocr_api_clientfrom cloudmersive_ocr_api_client.rest import ApiExceptionfrom pprint import pprint# Configure API key authorization: Apikeyconfiguration = cloudmersive_ocr_api_client.Configuration()configuration.api_key['Apikey'] = 'YOUR_API_KEY'# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed# configuration.api_key_prefix['Apikey'] = 'Bearer'# create an instance of the API classapi_instance = cloudmersive_ocr_api_client.PreprocessingApi(cloudmersive_ocr_api_client.ApiClient(configuration))image_file = '/path/to/file' # file | Image file to perform OCR on.  Common file formats such as PNG, JPEG are supported.try:# Detect and unrotate a document image (advanced)api_response = api_instance.preprocessing_unrotate_advanced(image_file)pprint(api_response)except ApiException as e:print("Exception when calling PreprocessingApi->preprocessing_unrotate_advanced: %s\n" % e)

All 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