Introduction
Mobile applications were initially developed for general productivity and retrieval of information such as email, weather report, stock market etc. However, due to the rapid growth of mobile technology the public demand and developer tools led to expansion of mobile games and social applications. The popularity of mobile applications has continued to rise, as their usage has become increasingly common across mobile phone users.
My Btech project is to develop an image processing application for Android Platform by developing enhancement and restoration filters for the images captured or supplied by the user. This can be achieved by mathematical algorithms that are quick and efficient but also useful for this purpose. Providing users with popular functionalities of desktop image processing applications would definitely be an advantage and will encourage users to use my application. The application will be extremely usefully to users who have a basic understanding of the RGB values and how they can analyze them to make filter choices.
The filters range from basic ones such as brightness and contrast adjustment to more sophisticated algorithms such as Image Equalization and Convolution filter. Image restorations filters will be used to minimize the effect of degradation. This process is heavily dependent on the type of degradation process I use as well the quality of an image. Image enhancement is different to this process because enhancement of image involves more extraction of image features. This report is a guide that provides step by step process for the development of my application and also provides detailed reasoning for filter use and its features.
Project Description
Project Goal
My project goals are to develop an application for mobile devices that provide users with some of the common features of desktop image processing applications and also to provide users with image enhancement and restoration support, provided that the image is in the condition to be restored or enhanced. Secondary goal of this application is to give users an understanding of the RGB histograms display to check how filter algorithms affect the distribution and how it can be used to make decisions on filter selections.
Problem Description
Currently, there are many Android applications that include basic image editing features such as crop, rotate etc but not all of them are useful when the image is degraded in quality or needs to be enhanced to reveal more detail. The user can always use a desktop application to process images; however applications such as Photoshop are expensive to buy and need a PC. So that being said, how can I incorporate some of the major problems of image processing on Android devices and solve it using an Android application?
The application will need to focus on multiple problems such as digital noise, bad exposure, blurry images, and distracting elements in our digital photos etc. The most common issue is digital noise and this is the “grain” that we sometimes notice in film photography. There are many types of digital noise so implementing just one filter for digital noise would not be reliable or usable because the image quality changes because no two images are the same (unless of course we copy) so there needs to be a few options that user can apply to get the best possible result. Considering the scenario of different types of digital noise to use it for other image quality issues, the types of filters needs to be researched and how they can be used together to process the image.
Motivation
The major reason for motivation was that image processing applications on Android sometimes have limited functionalities such as just smooth filter. I want to incorporate some of PC application features into my application. Also, I am completely new to this area of programming and this will be my first Android application and this project will give me the skills and knowledge to develop a complete application because I want to be a developer of applications for mobile devices in the future.