Acknowledgement
We would like to take this apportunity to express our profound sense of gratitude and the respect to all those who helped as throught out the duration of this project.We acknowledge the efforts of those who have contributed significantly to our project.even a collectin of word admitted yields to express our heart full thanks towards one and all that selflessly assisted us in our expendition of carrying out this project.
We feel privileged to offer our sincere thanks and deep sense of gratitude to Mr.AnilPatidar(HOD) for expressing his confidence in us by assisting and giving us liberal encouragement as well as moral support not only during this project,but also throughout our studies at the college.
We are greatful for the co-operation and valuable suggestions rendered by Mr.AnilPatidar(Project co-ordinator) and Ms.Smriti Tiwari(Project Guide) under whose supervision and inspiring guidance this project was embarked upon,planned and executed.Their sincere suggestion helped us greatly in bringing out this work at it present shape.
And last but not the least the constant source of inspiration our parents,faculty members of MCA dept. as well as the library dept and friends that made us put on our hardwork and dedication through which we come all this way.
`
Anamika Awasthi
Megha Patni
1.Introduction
Image processing in its broadest sense is an umbrella term for representing and analyzing of data in visual form. More narrowly, image processing is the manipulation of numeric data contained in a digital image for the purpose of enhancing its visual appearance. Through image processing, faded pictures can be enhanced, medical images clarified, and satellite photographs calibrated. Image processing software can also translate numeric information into visual images that can be edited, enhanced, filtered, or animated in order to reveal relationships previously not apparent.
A technique in which the data from an image are digitized and various mathematical operations are applied to the data, generally with a digital computer, in order to create an enhanced image that is more useful or pleasing to a human observer, or to perform some of the interpretation and recognition tasks usually performed by humans. Also known as image processing.
“ Transformation of an input image into an output image with desired properties.”
“ Image processing includes the steps involved in getting an image uploaded to a computer, modifying, printing, and saving it as a digital image. Image processing functions include resizing, sharpening, brightness, and contrast.”
2. Background
2.1 Description of Existing System:
Image processing is any form of signal processing for which the input is an image, such as photographs or frames of video; the output of image processing can be either an image or a set of characteristics or parameters related to the image. Most image-processing techniques involve treating the image as a two-dimensional signal and applying standard signal-processing techniques to it.Image processing usually refers to digital image processing, but optical and analog image processing are also possible. This article is about general techniques that apply to all of them.
Operation performed by exitsing system:
- Digital compositing or optical compositing (combination of two or more images). Used in film-making to make a "matte"
- Interpolation, demosaicing, and recovery of a full image from a raw image format using a Bayer filter (A Bayer filter mosaic is a color filter array (CFA) for arranging RGB color filters on a square grid of photosensors)pattern
- Image registration, the alignment of two or more images
- Image differencing:The difference between two images is calculated by finding the difference between each pixel in each image, and generating an image based on the result.
- Morphing :Morphing is a special effect in motion pictures and animations that changes (or morphs) one image into another through a seamless transition
2.2 Circumstances Leading to the Current New System:
In new system, take imge as input directly and performed various operation on it.This operation includes:-
1. Gray Scale:Grayscale work on 8-bit representation.8-bit grayscale contain 256 shades of grey i.e. 28 =256(0-255) with 0 denoting Black color & 255 denoting white color with other values representing intermediate shades of gray.
2. Negative Image: A negative image is a tonal inversion of positive image,in which light areas appear dark and vice versa.
3. Brightness: Brightness as an attributeof a visual sensation according to which a given visual stimulusappears to be more or less intense; or, according to which the areain which the visual stimulus is presented appears to emit more orless light.
R / G / B / Color0 / 0 / 0 / Black
255 / 255 / 255 / White
255 / 0 / 0 / Red
0 / 255 / 0 / Green
0 / 0 / 255 / Blue
255 / 255 / 0 / Yellow
0 / 255 / 255 / Cyan
255 / 0 / 255 / Magenta
4. Change Color:RGB values encoded in24 bits per pixelare specified using three 8-bit unsigned integers (0 through 255) representing the intensities of red, green, and blue. This representation is the current mainstream standard representation for the so-calledtrue colorand common color interchange inimage file formatssuch asJPEGorTIFF. It allows more than 16 million different combinations (hence the termmillions of colorssome systems use for this mode), many of them indistinguishable to the human eye.
The following table shows the combination of RGB color:
5. Change Scale:Image processing in resize images in process often called image scaling,making them larger or smaller.
6. Rotation: Image editors are capable of altering an image to be rotated in any direction and to any degree. A small rotation of several degree is often enough to level the horizon, correct vertically or both.Roteted image usually required croppind outward,in order to remove the resulting gaps at the image edges.
7.Mean Filter: The Average (mean) filter smooths image data, thus eliminating noise. This filter performs spatial filtering on each individual pixel in an image using the grey level values in a square or rectangular window surrounding each pixel.
For example:
a1 a2 a3
a4 a5 a6 3x3 filter window
a7 a8 a9
The average filter computes the sum of all pixels in the filter window and then divides the sum by the number of pixels in the filter window:
Filtered pixel = (a1 + a2 + a3 + a4 ... + a9) / 9
8. Median Filter:Inimage processingit is usually necessary to perform a high degree ofnoise reductionin an image before performing higher-level processing steps.Themedian filteris a non-lineardigital filteringtechnique, often used to removenoisefrom images or other signals.
Median filtering is a common step inimage processing. It is particularly useful to reducespeckle noiseandsalt and pepper noise. Its edge-preserving nature makes it useful in cases where edge blurring is undesirable.
Algorithm steps:,
The idea is to calculate the median of neighbouring pixels values. This can be done by repeating these steps for each pixel in the image.
- Store the neighbouring pixels in an array. The neighbouring pixels can be chosen by any kind of shape, for example a box or a cross. The array is called the window, and it should be odd sized.
- Sort the window in numerical order
- Pick the median from the window as the pixels value.
To demonstrate, the median filter will be applied to the following array with a window size of 3, repeating edge values:
x = [2 80 6 3]
y[1] = Median [2 2 80] = 2
y[2] = Median [2 80 6] = Median[2 6 80] = 6
y[3] = Median [80 6 3] = Median[3 6 80] = 6
y[4] = Median [6 3 3] = Median[3 3 6] = 3
So, y = [2 6 6 3]
where y is the median filtered output of x.
9. Image in Image: This application are capable of merging one or more individual images into a single file.
2.3 Objective:-
Image processing includes the steps involved in getting an image uploaded to a computer, modifying, printing, and saving it as a digital image. Image processing functions include resizing, sharpening, brightness, and contrast.
3. System requirement analysis
3.1: Information gathering:
Information Gathering is an art and science .Whether the trust of the activities is the initial investigation or a feasibility study.
3.2 System feasibility:-
Study of requirement analysis is done through different feasibility studies. Following are different feasibility studies.
1) Technical Feasibility
2) Economical Feasibility
3) Behavioral Feasibility
3.2.2 Technical Feasibility:
During technical analysis, the analyst evaluates the technical merits of the system concept,while at the collecting additional information about performance, reliability,maintainability and reducibility ,technical analysis begins with an asessment of the technical viability of the proposed system,it is analysed what kind of development environment is required.Technical feasibility centers on the existing computer system hardware,software etc and to what extend it can support the proposed addition.We are working with technologies that are already available so this project is technically feasible also.
3.2.1Economic Feasibility:
Among the most important information contained in feasibility study is cost benefit analysis -an assessment of the economic justification for computer based system project.Cost benefit analysis delineates cost for project developement and weights them against tangible and intangible benefits of a system.. Benefits of a new system were determined relative to existing system. So our system is economically feasible
3.2.3 Behavioral Feasibility:
Our project will provide user friendly environment to the users for editing and enhancing the images.So, our project is behavioral Feasibile also.
3.3 Technology used:
Front end:-JAVA(Swings)
Java media framework(JMF)
Java advanced imaging(JAI)
Editor:-Netbeans 6.1 beta
4.System analysis tool
4.1 class diagram:
C RGBR:int
G:int
B:int
p1:Jpanel
redScroll:JScrollBar
<create>RGB()
C Image Processing
allimages : vector
winNumber : int
currentWin : int
isToolsWinActive : int
isInfoWinActive : intwhoOperationActive : int
infoX : int
infoY : int
openFrameCount : int
txtX : jTextField
txtY : jTextField
lbtxtcurd : jLabel
lbtxtwin : jLabel
lbrotX : jLabel
lbrotY : jLabel
fromX1 : jLabel
fromX2 : jLabel
fromY1 : jLabel
fromY2 : jLabel
RGBr : int
RGBg : int
RGBb : int
C Viewer
active:int
winNum:int
p:PanelDrw
path:String
setOldImage():void
newApply():void
mouseEntered(in e:MouseEvent):void
C Help
lbInfo:Jlabel
prev:JButton
next:JButton
<create>Help()
C PanelDrw
pantimg:BufferedImage
<create>PanelDrw(in g2:BufferedImage)
paint(in g:Graphics):void
repaintPanelImage(in g3: BufferedImage):void
<create>Image Processing(int str : String)
getAlpha(int p : int) : int
getRed(int p : int) : int
getGreen(int p : int) : int
getBlue(int p : int) : int
seeColor ( in c : String):String
getNumber(in c : int,int ch:String,in number:String) :int
meanValue(in a:int[]):int
medianValue(in a:int[]):int
not(in image1:BufferedImage): BufferedImage
C About
<create>About()
C Photoshop
JMBar:JMenuBar
JMfile:JMenu
JMedit:JMenu
JMscale:JMenuItem
JMrotate: JMenuItem
ToolsPanel:JToolBar
desktop:JDesktopPane
JBbrighten:JButton
JBrotate:JButton
JSgrayScale:JScrollBar
lbr:JLabel
Tools:JInternalFrame
Componentint():void
resetOldImage():void
ClosedImage():void
Help():void
FileChoose():String
5.Design
5.1 Interface design:
6. Testing
6.1 Scope of Testing:
The scope of testing is the extensiveness of the test process. A narrow scope may be limited to determining whether or not the software specifications were correctly implemented.
6.2Test Plan:
A test plan is general document for the entire project that defines the scope,approach to be taken and the schedule of testing as well as identifies the test item for the entire testing process.
The input for test process:-
1.Project Plan
2. Requirements Document
3.System Design Document
A test plan should contain the following:-
- Test unit specification
- Feature to be tested
- Approach for testing
- Test deliverable
- Schedule
- Personal allocation
6.3 Test case design:-
Software testing is a critical element of software quality assurance and represent the ultimate review of specification, design and coding. Testing is a process of executing a program with the intent of finding an error. The various form of testing include:-
White box testing:-
White box testing is test case design method that uses the control structure of procedural design to derive test cases. Using white box testing methods,the software engineer can derive cases that:
1.Guarantee that all independent paths within a module level have been exercised atleast once.
2.Exercise all logical decisions on their true or false sides.
3. Exercise all loops at their boundaries & within their operational bounds.
4.Exercise internal data structure to assure their validity.
Black box testing:-
It focuses on the functional requirements of the software. Black box testing attempt to find error in the following categories:-
1. Incorrect or missing functions
2.Interface errors
3.Errors in data structures or external database access.
4.Performance error.
5.Initialization and termination error.
Alpha & Beta testing:-
It is virtually impossible for software developer to foresee how the customer will really use a program. When customer software is built for one customer of a series of acceptance test is conducted to enables the customer to validate all requirements.
A customer conducts the alpha test at developer side.Alpha test were performed at our development side. Error and usage problems were noted and code was updated to remove all of them.
The beta test is conducted at one or more customer sides by the end user of the software. The beta testing of our system is not performed fully,as the product is not yet fully deploy completely at the user’s site.
6.3 Test Results:-
After applying alpha and beta test,we have observed that the system is working fine and all functional requirements are satisfied but interface need to be improved.
7. Limitation
Removal of unwanted element
Cropping an image
Slicing of image
8. Future Scope
In future we implements all above written points in limitation of our application and through this we enhance the capability of processing the images more precisely.
Image processing is a rapidly evolving field with growing applications in science and engineering. Image processing holds the possibility of developing the ultimate machine that could perform the visual functions of all living beings. Digital image processing has a broad spectrum of applications such as remote sensing via satellites, medical processing, radar, sonar, and automated inspection of industrial parts.
9. Conclusion
This report has detailed the development and implementationof an algorithm to detect visual code markers in images taken from cell phone cameras. System where the process of applying to image data for a given purpose is used for e.g. of operations include scene analysis, image restoration, image enhancement, image processing, quantizing, spatial filtering, and construction of two & three dimensional models of objects, synonymous with picture processing
10. Bibliography
We refer from:
Javadocs J2se6
Java complete reference
1