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
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
original image Final result
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






