Super Resolution for Android

Taking a picture can be considered as sampling the photographed space in two dimensions. Low-resolution (large sampling intervals and blur)

Abstract

Taking a picture can be considered as sampling the photographed space in two dimensions. Low-resolution (large sampling intervals and blur) produces a picture that lacks much of the information that was available in the original scene.

In a variety of fields (such as medical imaging, satellite images, quality control in production lines, etc.), generating high resolution images  is crucial – this is the motivation for this project. The current project is targeted at images containing text, and aims to improve its readability in a significant manner.
Like in many other engineering issues, increasing image resolution is possible in two ways – improving hardware or using software; upgrading hardware is expensive and isn’t always technically possible – most common cameras these days are built-in cameras in smartphones, which are limited in size and quality of optics in use, therefore a software oriented solution is the preferred one. Reconstruction of high resolution images from existing (LR) images has been extensively studied and was offered a variety of approaches and algorithms.
In this project we have designed a super-resolution Android application for text based images. In the following report we will present an overall review of the Super- resolution process, compare the two methods we have chosen to explore and present the final implementation in a Smartphone application form.

 

Flowchart

1

Android app design guidelines:

  • A simple user interface – one button click
  • Several images are acquired automatically
  • Android processing
  • Showing the result on screen, or save to a file

Results

         original image                                                           Final result

2  3

         original image                                                           Final result

4    5

 

 

Conclusions

  • Accurate registration is crucial
  • Blur/deblur matrix calibration to specific device will improve the de-convolution process
  • Complexity of image processing requires large resources

Suggestions for future work

  • Optimization of code for weak processors (ARM)
  • Speeding up calculation with multi core processing
  • Performing calculations via remote server
  • Color image processing
  • Choosing a more complex/sophisticated algorithm