Finer Print Image Enhancement (21)

72
IMAGE ENHANCEMENT MINOR PROJECT REPORT Submitted in partial fulfillment of the requirement for the award of degree of bachelors of engineering in information technology Submitted to: [RAJIV GANDHI PRODYOGIKI VISHWAVIDYALAYA, BHOPAL (M.P.)] Submitted by: Ankita Tiwari(0114it081015), Sonam Jhanwar(0114it081103), Preetibala Malviya(0114it081078) Under the Guidance of: Mr.Anurag Kumar Jaiswal (Department of Information Technology) DEPARTMENT OF INFORMATION TECHNOLOGY Truba Institute of Engineering & Information Technology, Bhopal SESSION:2010-2011

Transcript of Finer Print Image Enhancement (21)

Page 1: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 1/72

Page 2: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 2/72

TRUBA INSTITUTE OF ENGINEERING &

INFORMATION TECHNOLOGY

(Session 2010-2011)

DEPARTMENT OT INFORMATION

TECHNOLOGYCERTIFICATE

This is to certify that Sonam, Preetibala and Ankita students of 6th

sem of 

Truba Institute of Engineering & Information Technology has complete their

Minor Project (Finger print Image Enhancement).

³FINGER PRINT IMAGE ENHANCEMENT´, as per syllabus and has

submitted a satisfactory report on this project as a partial fulfillment istowards the award of degree of bachelor of engineering of Information

Technology under Rajiv Gandhi Prodhyogiki Vishwavidhyalaya,Bhopal.

Mr. Anurag kumar Jaiswal Mr.Vijay Choudary Dr.Manish Manoria

(Project Guide) (Head of I.T. (Director)

(assist. Professor I.T.) Depart.) (T.I.E.I.T.)

(T.I.E.I.T.) (T.I.E.I.T.)

Page 3: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 3/72

DECLARATION

I ³Preetibala Malviya(0114it081078),Sonam Jhanwar(0114it081103),Ankita

Tiwari(0114it081015)´ students of Bachelor of Engineering in Information

Technology discipline,session:2010-11,Truba Institute of Engineering &

Information Technology, Bhopal(M.P.),are hereby declare that the project work 

entitled ³Finger Print Image Enhancement´ is the outcome of my own work is

 bona fide & correct to the best of my knowledge & this work has been carried out

taking care of Engineering Ethics. This work presented does not submitted to any

other university or anywhere else for the award of any degree or any professional

diploma. 

Submitted by:

Sonam Jhanwar(0114it081103)

Preetibala Malviya(0114it081078)

Ankita Tiwari(0114it081015)

(I)

Page 4: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 4/72

 

ACKNOWLEDGEMENT

We would like to express over deep sense of gratitude to

honorable Mr. Anurag Jaiswal, Assistant professor, TRUBA

INSTITUTE OF ENGINEERING AND INFORMATIONTECHNOLOGY,BHOPAL for his constant encouragement,

valuable guidance, which was of greatest support to bring this

work in present shape. Nothing concrete can be achieved

without an optimal combination of inspiration and perspiration.

We would also like to thank all the faculty members of the

Information Technology  Department as well as the staff 

members for providing me with there valuable guidance and the

support and the co-operation extended by them.At last I thank God and my Parents for their countless

support, motivation and cooperation.

(II)

Page 5: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 5/72

 

ABSTRACT

Image enhancement is the task of applying certain transformations to an

input image such as to obtain a visually more pleasant, more detailed, or less noisy output image. The transformation usually requires

interpretation and feedback from a human evaluator of the output result

image. Therefore, image enhancement is considered a difficult task when attempting to automate the analysis process and eliminate the

human intervention. This paper introduces a new automatic image

enhancement technique driven by an evolutionary optimization process.We propose a novel objective criterion for enhancement, and attempt

finding the best image according to the respective criterion. Due to the

high complexity of the enhancement criterion proposed, we employ an

evolutionary algorithm (EA) as a global search strategy for the best

enhancement. We compared our method with other automaticenhancement techniques, like contrast stretching and histogram

equalization. Results obtained, both.

(III)

Page 6: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 6/72

TABLE OF FIGURES

FIGURENO. PAGENO

Page 7: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 7/72

TABLE OF CONTENT

CHAPTERS TOPICS PAGE NO

CHAPTER 1 INTRODUCTION

1.1 Finger Print

1.2 Reliable Extracting

1.3 Image Enhancement

1.4 Image Processing

CHAPTER 2 LITRATURE SURVEY

2.1 Survey

2.2 Blur 

2.3 Color 

2.4 Sharpness & Detail

2.5 Image Artifacts

CHAPTER 3 METHODOLOGY

CHAPTER 4 IMPLEMENTATION

CHAPTER 5 RESULTS

CHAPTER 6 USER MANUAL

6.1 Manual

6.2 Hardware and software specification

CHAPTER 7 CONCLUSION AND FUTURE SCOPE

7.1 Conclusion

7.2 Future Scope

CHAPTER 8 REFRENCES

Page 8: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 8/72

 

CHAPTER-1

INTRODUCTION

Page 9: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 9/72

 

INTRODUCTION 1.1 Fingerprints

Fingerprints are today the most widely used biometric features for personal

identification. Most automatic systems for fingerprint comparison are based

on minutiae matching . Minutiae characteristics are local discontinuities in the

fingerprint pattern which represent terminations and bifurcations. A ridge

termination is defined as the point where a ridge ends abruptly. A ridge

  bifurcation is defined as the point where a ridge forks or diverges into branch

ridges .

1.2 Reliable Extracting

Reliable automatic extracting of minutiae is a critical step in fingerprint

classification. The ridge structures in fingerprint images are not always well

defined, and therefore, an enhancement algorithm, which can improve the clarity

of the ridge structures, is necessary. Most of the minutiae detection methods

which have been proposed in the literature are based on image binarization, while

some others extract the minutiae directly from gray scale images. Concerning

these two approaches, this work proposes two methods for fingerprint image

enhancement. The first one is carried out using local histogram equalization,Wiener filtering, and image binarization. The second method use a unique

anisotropic filter for direct grayscale enhancement. Section 2 addresses the

main steps of our binarization approach. In Section 3 we suggest some

modification to Hong¶s Gabor-based technique , and propose a fast direct

grayscale fingerprint enhancement algorithm based on a unique anisotropic

filter. Section 4 presents the results of a comparative study of our approaches and

the methods described.

1.3 Image EnhancementImage enhancement is among the simplest and most appealing areas of digital

image processing. Basically, the idea behind enhancement techniques is to bring

out detail that is obscured, or simply to highlight certain features of interest in an

image. A familiar example of enhancement is shown in Fig.1 in which when we

increase the contrast of an image and filter it to remove the noise "it looks better."

It is important to keep in mind that enhancement is a very subjective area of image

Page 10: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 10/72

 processing. Improvement in quality of these degraded images can be achieved by

using application of enhancement techniques.

In medical ultrasound images the resolution is significantly worse in one direction

compared to the perpendicular direction. The work that is presented in this paper is

 part of a long-term research aimed at improvement of ultrasound image quality by

combining the information from imaging of the same plane from different view

directions. This thesis work examines the ability to achieve an enhanced ultrasound

image compared to images from single scans by means of exploiting pairs of 

ultrasound scans of the same plane. Each pair is assumed to consist of two co-

registered images with 90° separation between their insonification directions and

without deformations due to variations in the speed of sound.

What to measure, how to measure, and why to measure ² the answers to these

questions establish the foundation for objective print quality evaluation.Unfortunately, for a newcomer to the field, the literature on the subject is often

difficult to comprehend due to an unfamiliar vocabulary, or the highly specialized

subject. This paper presents a useful framework for the development of image

analysis systems and test targets. Of course, in a short paper, a comprehensive

treatise is not possible, but the author hopes, at the least, readers will find the

 basics provided helpful in their next image quality evaluation or test target design

 projects. Imaging involves both input and output devices. In this paper, the focus

is on output devices & their output, i.e., printers and prints. However, the principle

of target design for output devices is generally applicable to input devices as well.

1.4 Image ProcessingImage processing modifies pictures to improve them (enhancement, restoration),

extract information (analysis, recognition), and change their structure

(composition, image editing). Images can be processed by optical, photographic,

and electronic means, but image processing using digital computers is the most

common method because digital methods are fast, flexible, and precise.

An image can be synthesized from a micrograph of various cell organelles by

assigning a light intensity value to each cell organelle. The sensor signal is

³digitized´-- converted to an array of numerical values, each value representing thelight intensity of a small area of the cell. The digitized values are called picture

elements, or ³pixels,´ and are stored in computer memory as a digital image. A

typical size for a digital image is an array of 512 by 512 pixels, where each pixel

has value in the range of 0 to 255. The digital image is processed by a computer to

achieve the desired result. Image enhancement improves the quality (clarity) of 

images for human viewing. Removing blurring and noise, increasing contrast, and

Page 11: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 11/72

revealing details are examples of enhancement operations. For example, an image

might be taken of an endothelial cell, which might be of low contrast and

somewhat blurred. Reducing the noise and blurring and increasing the contrast

range could enhance the image. The original image might have areas of very high

and very low intensity, which mask details. An adaptive enhancement algorithm

reveals these details. Adaptive algorithms adjust their operation based on the image

information (pixels) being processed. In this case the mean intensity, contrast, and

sharpness (amount of blur removal) could be adjusted based on the pixelintensity

statistics in various areas of the image. Image processing technology is used by

 planetary scientists to enhance images of Mars, Venus, or other planets. Doctors

use this technology to manipulate CAT scans and MRI images. Image processing

in the laboratory can motivate students and make science relevant to student

learning. Image processing is an excellent topic for classroom application of 

science research techniques.

Image Processing is a technique to enhance raw images received from

cameras/sensors placed on satellites, space probes and aircrafts or pictures taken in

normal day-to-day life for various applications. Various techniques have been

developed in Image Processing during the last four to five decades. Most of the

techniques are developed for enhancing images obtained from unmanned

spacecrafts, space probes and military reconnaissance flights. Image Processing

systems are becoming popular due to easy availability of powerful personnel

computers, large size memory devices, graphics softwares etc. Image Processing

is used in various applications such as:

� Remote Sensing

� Medical Imaging

� Non-destructive Evaluation

� Forensic Studies

� Textiles

� Material Science.

� Military

� Film industry

� Document processing

� Graphic arts� Printing Industry

Page 12: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 12/72

 

CHAPTER-2

LITERATURE SURVEY

Page 13: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 13/72

 

LITERATURE SURVEY

2.1 Survey

Literature survey reveals that cancer imaging is one of the active areas of research

today. The researchers working in this area have contributed towards development

of algorithms in cancer detection, segmentation, classification etc. Keeping the

aforesaid facts in the backdrop, the motivation to develop algorithmic models that

are capable of enhancing the images which are captured by different sensors. To

analyse the cancer cells, the quality of the image should be good. The proposed

work aim in developing the following algorithms

To explore different enhancement techniques to improve the quality of the

images captured by different image capturing devices like Ultra-Sonography (US),Positron Emission Tomography (PET), Single-Photon Emission Computed

Tomography (SPECT), Optical Imaging (OI), Computed Tomography (CT), Xray,

Ultrasound, MRI etc.

Restoring degraded medical Images into well represented/ enhanced Image.

Explore some of the spatial domain methods, which operates directly on pixels

and frequency domain methods, which operate on the Fourier transform of an

image. The proposed work makes use of texture features and motion blur removal

methods to restore the Images. Various linear and Non-linear filters are used to

enhance the images which are degraded by different noises. In order to improve theefficiency and veracity of diagnosis, it is very essential to have good quality

images. In this direction, this work makes an attempt to develop various

enhancement techniques for the diagnosis of cancer[3].

2.2 BlurB-mode scans undergo two types of blur before the echo returns to the transducer:

In the axial (longitudinal) direction the blur results from the envelope of the

acoustic wave and from properties of the tissue through which the wave

 propagates; In the lateral (transverse) direction the blur is affected by the width and

apodization of the transmission and reception apertures as well as the distance of the imaged object from the focus and medium-related distortions.

The model that is commonly used in ultrasound imaging research for the relation

  between the received signal and the tissue reflectivity of the object is a linear 

spaceinvariant (LSI) system. Handling space variations of the point spread function

(PSF) is usually through partitioning the imaged plane to smaller regions with

Page 14: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 14/72

approximately invariant PSF. Though the response of the ultrasonic system is

three-dimensional (3-D), the observed blur is approximated as two-dimensional (2-

D) such that its PSF has vibration with a narrow envelope in the axial dimension

and relatively large breadth in the lateral dimension. This can be viewed as a

transfer function with axially wide-band band-pass behavior and laterally narrow-

  band low-pass behavior. For more than 2 decades various algorithms have been

suggested to sharpen the images, either by deconvolution assuming the PSF is

known or through blind deconvolution. The prevalent approach in researches of 

  blind deconvolution for ultrasound images is to use the LSI method of Wiener 

filter to recover the reflectivity image, and therefore most of the effort is

concentrated in estimating the PSF.

Part of these algorithms deal with the blur as if it is one-dimensional, either only

axial or only lateral. Others tackle the problem of two-dimensional blur: some of 

them consider the PSF as separable while recent research cope with the more

difficult problem of non-separable two-dimensional PSF.It is worth noting that while a few algorithms used the envelope-detected and

logcompressed image as their input in most of the published work deconvolution

is applied to the RF image. Non-parametric methods for blur estimation usually

involve homomorphic signal processing through calculation of the cepstrum or 

 bicepstrum . Adam and Michailovich proposed an estimation approach by means

of local polynomial approximation, which can be viewed as a modification of 

homomorphic estimation by using wavelet bases instead of the Fourier basis. Other 

methods utilize parametric estimation, such as estimating a set of auto-regressive

moving-average (ARMA) parameters describing the pulse. Hokland and Kelly

developed a restoration method that employs maximum a posteriori (MAP)

estimation instead of Wiener filtering. Their algorithm is based on a Markov

random field image model incorporating spatial smoothness constraints and

  physical models for specular reflections and diffuse scattering. The algorithm

alternates

  between 2 steps: In one step the diffuse scattering is restored assuming its

 parameters are constant for each image region; The other is a step of segmentation,

which restores the specular reflections as the region boundaries[4].

2.3 ColorColor tone reproduction can be analyzed by extending the gray tone scale to

include the different color separations such as C, M, and Y in the print. These tone

scales serve to evaluate the tonal quality in color similar to that in the gray or 

lightness scale. In addition to color tone reproduction, another critical attribute in

  perceived quality is  gray balance (to a printer, or  white balance to a

 photographer). The eye is extremely sensitive to the neutrality of gray. If the gray

Page 15: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 15/72

 balance in a photograph is not right, it is not ³neutral´ and will not look natural or 

  pleasing. An example is shown in Fig. 1, in which R, G, and B color casts are

introduced intentionally to simulate poor gray balance. This example demonstrates

that in a portrait, a greenish color cast is particularly objectionable in the skin tone.

Maintaining gray balance is in fact central to the G7 calibration methodology, an

industry standard in commercial printing to achieve appearance matching from

 proof to print6.

2.4 Sharpness and Details

Tone and color deals with the contents in an image in terms of lightness, hue and

chroma. Another attribute fundamental to image quality relates to the spatial

content, or sharpness and details in the image, which are critical in, for example,

 photos, text and barcodes. Sharpness and details are controlled by the resolution of 

the imaging system and the interaction of the marking materials (ink and toner)

with the print substrate.

 Fig. 2.1. Use of Slant Edge Spatial Frequency Response (SFR) Method For Printer 

 Resolution Analysis

Historically, resolution in an imaging system is measured using resolution targets

consisting of line patterns of increasing frequency such as the USAF 1951

Page 16: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 16/72

target13. A relatively new approach to determine the resolution of an imaging

system is to measure the Spatial Frequency Response (SFR) using the slanted edge

technique as specified in an international standard (ISO 12233)28. The basic target

design is deceptively simple ± a rotated square (typically at 5 deg). A major 

advantage of the SFR technique is its simplicity in execution and its potential for 

automated measurements. Figure 3 provides an example where image A is sharper 

as clearly quantified by the SFR measurement. In addition to SFR, line quality

analysis is a common and useful technique to measure the ability of an imaging

system to reproduce sharp features and details. ISO 13660 provides an excellent

foundation for the design of line test targets and analysis of line quality. Text

quality is also affected by a printing system¶s ability to produce sharpness and

details. Text quality analysis is much more complicated than the analysis of lines

and in fact a new appearance based standard is currently under development.

2.5 Image ArtifactsThe previous image quality attributes measure the ³signal´ in an image.

Unfortunately, ³noise´ (image defects) is often unavoidable in real imaging

systems. This is a category that covers a broad range of defects, some are generic

in printing systems in general, and others are specific to an individual technology.

Generic noise types include graininess, mottle, banding, streaking, ghosting, and

color mis-registration. Technology specific noise types include satellites and inter-

color bleed in inkjet; and background, deletion, and blistering in

electrophotography. The design of test targets for different image defects are well-

covered in the literature 15,17-18 and are not detailed in this paper due to space

constraints. Two new international standards are also under development to

address many image noise measurement issues. These include ISO 2479029 as an

update of ISO 13660, and ISO 19751 with an emphasis on appearance based image

quality evaluation (including text quality analysis). Image defect testing may

require the use of large target areas and multiple test pages[5].

Page 17: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 17/72

 

CHAPTER-3

METHODOLOGY

Page 18: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 18/72

 

METHODOLOGY

This section describes the methods for constructing a series of image enhancement

techniques for fingerprint images. The algorithm I have implemented is built on the

techniques developed by Hong et al. This algorithm consists of four main stages:

normalisation, orientation estimation, ridge frequency estimation, and Gabor filtering. In addition to these four stages, I have implemented three additional

stages that include:segmentation, binarisation, and thinning. In this section, I will

discuss the methodology for each stage of the enhancement algorithm, including

any modifications that have been made to the original techniques. 

Page 19: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 19/72

FIG 3.1

FIG 3.2

Page 20: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 20/72

 

CHAPTER-4

IMPLEMENTATION

Page 21: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 21/72

 

IMPLEMENTATION

Coding section of every project report place a vital role just like the brain in the

humam body. Its is lone responsible for the pratical run of any software created.

The coding written here is kept in the java document format itself only so as to

differ it from the remaining subtitles in the project report.

CODING

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.event.*;

import java.io.*;

import javax.swing.filechooser.*;

import javax.swing.colorchooser.*;

import java.awt.image.*;

import javax.imageio.*;

import java.awt.geom.AffineTransform;

import java.util.Arrays;

 public class Enhancer extends JFrame implements ActionListener , ItemListener ,

ChangeListener ,MouseMotionListener,MouseListener{

JColorChooser tcc1,tcc2;

JFileChooser fcc;

String filename="";

String password="";

Page 22: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 22/72

double screenw=800;

double screenh=600;

BufferedImage bufferimagedisplay = new BufferedImage(100, 100,

BufferedImage.TYPE_INT_RGB);

BufferedImage bufferimagedisplay2 = new BufferedImage(100, 100,

BufferedImage.TYPE_INT_RGB);

Toolkit toolkit = Toolkit.getDefaultToolkit();

Dimension screenSize = toolkit.getScreenSize();

//Image imagedisplay2;

//Runtime runtimeforgarbagecollection = Runtime.getRuntime();

int maximageframesize=((int)screenSize.getWidth()*2)/3;

int width=100;

int height=100;

int widthbuffer=0;

int heightbuffer=0;

int[][][] colouray;

int rgbs[];

int rgbsbuffer[];

int rgbsundoarray[];

int widthundo=0;

int heightundo=0;

int regions=5;

int encryptationcycles=0;

 boolean imageopen=false;

 boolean dialogopen=false;

 boolean otherframeopen=false;

Page 23: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 23/72

Color colorsel1;

Color colorsel2;

int brightnessincrement=10;

int brightnessvalue=0;

int initmousex=0;

int initmousey=0;

int finamousex=0;

int finamousey=0;

int nowmousex=0;

int nowmousey=0;

int rectix=0;

int rectiy=0;

int rectfx=0;

int rectfy=0;

double imagescaleratio=1.0;

int limitingframewidth=0;

 boolean selrectformed=false;

 boolean selectedrectdragged=false;

int dragstartcoordinatex=0;

int dragstartcoordinatey=0;

int dragendcoordinatex=0;

int dragendcoordinatey=0;

String action="";

JLabel jlabel1,jlabel2,jlabel3,jlabel4;

JFrame imageframe;

Page 24: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 24/72

// the dialog box for brightness adjustment

JDialog brightnesset ;

JButton submitbrightness;

JSlider adjustbrightness;

// the dialog box for region adjustment

JDialog regionset;

JButton submitregion;

JSlider adjustregion;

//the dialog box for size adjustment

JDialog adjustsize;

JTextField sizex;

JTextField sizey;

JButton submitsize;

JLabel xsize;

JLabel ysize;

JCheckBox maintainaspect;

//the dialog box for encryptation password

JDialog givepassword;

JPasswordField passwordf;

JTextField numberofcycles;

JButton submitpassword;

// the dialog box for arbitrary rotation

JDialog giveangle;

JTextField rotationangle;

JButton submitrotationangle;

Page 25: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 25/72

// the dialog box for colourcontrast adjustment

JDialog colourcontrastset ;

JButton submitcolourcontrast;

JSlider adjustcolourcontrast;

// the dialog box for contrast adjustment

JDialog contrastset ;

JButton submitcontrast;

JSlider adjustcontrast;

//the dialog box for contrast stretching

JDialog stretchcontrast;

JTextField rangecont;

JButton submitrange;

//the dialog box for color swapping

JDialog entercolor;

//the dialog box for gamma value

JDialog gammabasis;

JTextField basisgam;

// Create buffered image that does not support transparency

//BufferedImage bufferimage1 = new BufferedImage(width, height,

BufferedImage.TYPE_INT_RGB);

//BufferedImage bufferimage2 = new BufferedImage(width, height,

BufferedImage.TYPE_INT_RGB);

// Graphics2D gracrop= bufferimagedisplay.createGraphics();

static JFrame frame;

 private static void createAndShowGUI()

{

Page 26: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 26/72

frame = new Enhancer();

frame.setLayout(new FlowLayout());

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setResizable(false);

Image frmic=(new ImageIcon("icon2.jpg")).getImage();

frame.setIconImage(frmic);

//frame.setBounds(0,0,1024,700);

frame.setBackground(Color.black);

frame.pack();

frame.setLocationRelativeTo(null);

frame.setVisible(true);

}

 public static void main(String[] args)

{

try

{

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

}

catch (Exception ex)

{

}

createAndShowGUI();

}

 public Enhancer()

Page 27: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 27/72

 

{

super("Image Enhancer");

setDefaultCloseOperation(DISPOSE_ON_CLOSE);

JMenuBar mbar = new JMenuBar();

setJMenuBar(mbar);

 jlabel1 = new JLabel("",new ImageIcon(""),JLabel.LEFT);

add(jlabel1);

 jlabel1.add(new JSeparator(SwingConstants.VERTICAL));

 jlabel3 = new JLabel("",new ImageIcon(""),JLabel.LEFT);

 jlabel3.addMouseMotionListener(this);

 jlabel3.addMouseListener(this);

//add(jlabel3);

JMenu file = new JMenu("File");

file.setMnemonic(KeyEvent.VK_F);

JMenuItem open = new JMenuItem("Open...");

file.add(open);

open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,

ActionEvent.ALT_MASK));

open.addActionListener(this);

file.addSeparator();

JMenuItem save = new JMenuItem("Save...");

file.add(save);

save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,

ActionEvent.CTRL_MASK));

save.addActionListener(this);

Page 28: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 28/72

file.addSeparator();

// JMenuItem saveas = new JMenuItem("Save as...");

//file.add(saveas);

//saveas.addActionListener(this);

//file.addSeparator();

JMenuItem quit = new JMenuItem("Quit");

file.add(quit);

quit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,

ActionEvent.ALT_MASK));

quit.addActionListener(this);

mbar.add(file);

//creating edit menu

JMenu edit = new JMenu("Edit");

JMenuItem undo = new JMenuItem("Undo...");

edit.add(undo);

undo.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,ActionEvent.CTRL_MASK));

undo.addActionListener(this);

edit.addSeparator();

JMenuItem cut = new JMenuItem("Cut...");

edit.add(cut);

cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,

ActionEvent.CTRL_MASK));

cut.addActionListener(this);

mbar.add(edit);

//creating submenu of rotate

Page 29: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 29/72

JMenu rotate = new JMenu("Rotate");

JMenuItem fvertical = new JMenuItem("Flip vertical");

rotate.add(fvertical);

fvertical.addActionListener(this);

rotate.addSeparator();

JMenuItem fhorizontal = new JMenuItem("Flip horizontal");

rotate.add(fhorizontal);

fhorizontal.addActionListener(this);

rotate.addSeparator();

JMenuItem transpose = new JMenuItem("Transpose");

rotate.add(transpose);

transpose.addActionListener(this);

rotate.addSeparator();

JMenuItem farbitrary = new JMenuItem("Flip arbitrary");

rotate.add(farbitrary);

farbitrary.addActionListener(this);

//creating submenu of adjust

JMenu adjust = new JMenu("Adjust");

JMenuItem brightness = new JMenuItem("Brightness");

adjust.add(brightness);

 brightness.addActionListener(this);

adjust.addSeparator();

JMenuItem contrast = new JMenuItem("Contrast");

adjust.add(contrast);

contrast.addActionListener(this);

Page 30: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 30/72

contrast.setToolTipText("enhance the contrast of image by 20%");

adjust.addSeparator();

JMenuItem colourcontrast = new JMenuItem("Colour Contrast");

adjust.add(colourcontrast);

colourcontrast.addActionListener(this);

adjust.addSeparator();

// JMenuItem colorbalance = new JMenuItem("Color Balance");

// adjust.add(colorbalance);

// colorbalance.addActionListener(this);

// adjust.addSeparator();

JMenuItem size = new JMenuItem("Size");

adjust.add(size);

size.addActionListener(this);

//creating submenu of swapcolor 

JMenu swapcolor = new JMenu("Swap color");

JMenuItem redandgreen = new JMenuItem("Red and Green");

swapcolor.add(redandgreen);

redandgreen.addActionListener(this);

swapcolor.addSeparator();

JMenuItem redandblue = new JMenuItem("Red and Blue");

swapcolor.add(redandblue);

redandblue.addActionListener(this);

swapcolor.addSeparator();

JMenuItem greenandblue = new JMenuItem("Blue and Green");

swapcolor.add(greenandblue);

Page 31: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 31/72

greenandblue.addActionListener(this);

//creating submenu of turnrgb

JMenu turnrgb = new JMenu("Turn RGB to..");

JMenuItem m0=new JMenuItem("rgb to rrr..0");

JMenuItem m1=new JMenuItem("rgb to rrg..1");

JMenuItem m2=new JMenuItem("rgb to rrb..2");

JMenuItem m3=new JMenuItem("rgb to rgr..3");

JMenuItem m4=new JMenuItem("rgb to rgg..4");

JMenuItem m5=new JMenuItem("rgb to rgb..5");

JMenuItem m6=new JMenuItem("rgb to rbr..6");

JMenuItem m7=new JMenuItem("rgb to rbg..7");

JMenuItem m8=new JMenuItem("rgb to rbb..8");

JMenuItem m9=new JMenuItem("rgb to grr..9");

JMenuItem m10=new JMenuItem("rgb to grg..10");

JMenuItem m11=new JMenuItem("rgb to grb..11");

JMenuItem m12=new JMenuItem("rgb to ggr..12");

JMenuItem m13=new JMenuItem("rgb to ggg..13");

JMenuItem m14=new JMenuItem("rgb to ggb..14");

JMenuItem m15=new JMenuItem("rgb to gbr..15");

JMenuItem m16=new JMenuItem("rgb to gbg..16");

JMenuItem m17=new JMenuItem("rgb to gbb..17");

JMenuItem m18=new JMenuItem("rgb to brr..18");

JMenuItem m19=new JMenuItem("rgb to brg..19");

JMenuItem m20=new JMenuItem("rgb to brb..20");

Page 32: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 32/72

JMenuItem m21=new JMenuItem("rgb to bgr..21");

JMenuItem m22=new JMenuItem("rgb to bgg..22");

JMenuItem m23=new JMenuItem("rgb to bgb..23");

JMenuItem m24=new JMenuItem("rgb to bbr..24");

JMenuItem m25=new JMenuItem("rgb to bbg..25");

JMenuItem m26=new JMenuItem("rgb to bbb..26");

m0.addActionListener(this);

m1.addActionListener(this);

m2.addActionListener(this);

m3.addActionListener(this);

m4.addActionListener(this);

m5.addActionListener(this);

m6.addActionListener(this);

m7.addActionListener(this);

m8.addActionListener(this);

m9.addActionListener(this);

m10.addActionListener(this);

m11.addActionListener(this);

m12.addActionListener(this);

m13.addActionListener(this);

m14.addActionListener(this);

m15.addActionListener(this);

m16.addActionListener(this);

m17.addActionListener(this);

m18.addActionListener(this);

Page 33: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 33/72

m19.addActionListener(this);

m20.addActionListener(this);

m21.addActionListener(this);

m22.addActionListener(this);

m23.addActionListener(this);

m24.addActionListener(this);

m25.addActionListener(this);

m26.addActionListener(this);

turnrgb.add(m0);

turnrgb.addSeparator();

turnrgb.add(m1);

turnrgb.addSeparator();

turnrgb.add(m2);

turnrgb.addSeparator();

turnrgb.add(m3);

turnrgb.addSeparator();

turnrgb.add(m4);

turnrgb.addSeparator();

turnrgb.add(m5);

turnrgb.addSeparator();

turnrgb.add(m6);

turnrgb.addSeparator();

turnrgb.add(m7);

turnrgb.addSeparator();

turnrgb.add(m8);

Page 34: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 34/72

turnrgb.addSeparator();

turnrgb.add(m9);

turnrgb.addSeparator();

turnrgb.add(m10);

turnrgb.addSeparator();

turnrgb.add(m11);

turnrgb.addSeparator();

turnrgb.add(m12);

turnrgb.addSeparator();

turnrgb.add(m13);

turnrgb.addSeparator();

turnrgb.add(m14);

turnrgb.addSeparator();

turnrgb.add(m15);

turnrgb.addSeparator();

turnrgb.add(m16);

turnrgb.addSeparator();

turnrgb.add(m17);

turnrgb.addSeparator();

turnrgb.add(m18);

turnrgb.addSeparator();

turnrgb.add(m19);

turnrgb.addSeparator();

turnrgb.add(m20);

turnrgb.addSeparator();

Page 35: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 35/72

turnrgb.add(m21);

turnrgb.addSeparator();

turnrgb.add(m22);

turnrgb.addSeparator();

turnrgb.add(m23);

turnrgb.addSeparator();

turnrgb.add(m24);

turnrgb.addSeparator();

turnrgb.add(m25);

turnrgb.addSeparator();

turnrgb.add(m26);

//creating image menu

JMenu image = new JMenu("Image");

image.add(adjust);

image.addSeparator();

JMenuItem show = new JMenuItem("Show Info");

image.add(show);

show.addActionListener(this);

image.addSeparator();

JMenuItem invert = new JMenuItem("Invert");

image.add(invert);

invert.addActionListener(this);

image.addSeparator();

JMenuItem black = new JMenuItem("Black & White");

image.add(black);

Page 36: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 36/72

black.addActionListener(this);

image.addSeparator();

image.add(rotate);

image.addSeparator();

image.add(swapcolor);

image.addSeparator();

JMenuItem swapanycolor=new JMenuItem("Swap Any Color");

image.add(swapanycolor);

swapanycolor.addActionListener(this);

image.addSeparator();

image.add(turnrgb);

turnrgb.addActionListener(this);

image.addSeparator();

JMenuItem crop = new JMenuItem("Crop");

image.add(crop);

crop.addActionListener(this);

image.addSeparator();

JMenuItem colour = new JMenuItem("Colour");

image.add(colour);

colour.addActionListener(this);

image.addSeparator();

JMenuItem distribute = new JMenuItem("Distribute");

image.add(distribute);

distribute.addActionListener(this);

Page 37: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 37/72

 

mbar.add(image);

//creating menu of math

JMenu math = new JMenu("Math");

JMenuItem boolnot = new JMenuItem("NOT");

math.add(boolnot);

 boolnot.addActionListener(this);

math.addSeparator();

JMenuItem gamma = new JMenuItem("Gamma");

math.add(gamma);

gamma.addActionListener(this);

math.addSeparator();

JMenuItem log = new JMenuItem("Log");

math.add(log);

log.addActionListener(this);

math.addSeparator();

JMenuItem square = new JMenuItem("Square");

math.add(square);

square.addActionListener(this);

math.addSeparator();

JMenuItem squareroot = new JMenuItem("SquareRoot");

math.add(squareroot);

squareroot.addActionListener(this);

Page 38: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 38/72

math.addSeparator();

JMenuItem reciprocal = new JMenuItem("Reciprocal");

math.add(reciprocal);

reciprocal.addActionListener(this);

mbar.add(math);

//creating menu of filters

JMenu filters = new JMenu("Filters");

JMenuItem gaussianblur = new JMenuItem("Gaussian Blur");

filters.add(gaussianblur);

gaussianblur.addActionListener(this);

filters.addSeparator();

JMenuItem median = new JMenuItem("Median");

filters.add(median);

median.addActionListener(this);

filters.addSeparator();

JMenuItem mean = new JMenuItem("Mean");

filters.add(mean);

mean.addActionListener(this);

filters.addSeparator();

JMenuItem minimum = new JMenuItem("Minimum");

filters.add(minimum);

minimum.addActionListener(this);

filters.addSeparator();

JMenuItem maximum = new JMenuItem("Maximum");

filters.add(maximum);

Page 39: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 39/72

maximum.addActionListener(this);

//filters.addSeparator();

// JMenuItem variance = new JMenuItem("Variance");

//filters.add(variance);

//variance.addActionListener(this);

mbar.add(filters);

//creating submenu for smooth

JMenu smooth=new JMenu("Smooth");

JMenuItem smoothnine = new JMenuItem("Smooth 9x9");

smooth.add(smoothnine);

smoothnine.addActionListener(this);

smooth.addSeparator();

JMenuItem weightedsmoothnine = new JMenuItem("Weighted Smooth 9x9");

smooth.add(weightedsmoothnine);

weightedsmoothnine.addActionListener(this);

smooth.addSeparator();

JMenuItem threshholdaveraging = new JMenuItem("Threshhold Average");

smooth.add(threshholdaveraging);

threshholdaveraging.addActionListener(this);

smooth.addSeparator();

JMenuItem conservative = new JMenuItem("Conservative");

smooth.add(conservative = new JMenuItem("Conservative"));

conservative.addActionListener(this);

//creating process menu

JMenu process = new JMenu("Process");

Page 40: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 40/72

process.add(smooth);

 process.addSeparator();

JMenuItem sharpen = new JMenuItem("Sharpen");

 process.add(sharpen);

sharpen.addActionListener(this);

 process.addSeparator();

JMenuItem enhancecontrast=new JMenuItem("Contrast Stretch");

enhancecontrast.addActionListener(this);

 process.add(enhancecontrast);

 process.addSeparator();

JMenuItem equalizehistogram=new JMenuItem("Equalize Histogram");

equalizehistogram.addActionListener(this);

 process.add(equalizehistogram);

 process.addSeparator();

JMenuItem binary = new JMenuItem("Binary");

 process.add(binary);

 binary.addActionListener(this);

 process.addSeparator();

JMenuItem findedges = new JMenuItem("Find Edges");

 process.add(findedges);

findedges.addActionListener(this);

 process.addSeparator();

JMenuItem emboss = new JMenuItem("Emboss");

 process.add(emboss);

emboss.addActionListener(this);

Page 41: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 41/72

process.addSeparator();

JMenuItem pencilsketch = new JMenuItem("Pencil Sketch");

 process.add(pencilsketch);

 pencilsketch.addActionListener(this);

 process.addSeparator();

JMenuItem encrypt = new JMenuItem("Encrypt");

 process.add(encrypt);

encrypt.addActionListener(this);

 process.addSeparator();

JMenuItem decrypt = new JMenuItem("Decrypt");

 process.add(decrypt);

decrypt.addActionListener(this);

mbar.add(process);

//creating analyze menu

JMenu analyze = new JMenu("Analyze");

JMenuItem histogram = new JMenuItem("Histogram");

analyze.add(histogram);

histogram.addActionListener(this);

//analyze.addSeparator();

//JMenuItem surfaceplot = new JMenuItem("Surface Plot");

//analyze.add(surfaceplot);

//surfaceplot.addActionListener(this);

mbar.add(analyze);

 jlabel2 = new JLabel("",new ImageIcon(""),JLabel.LEFT);

ImageIcon i4 = new ImageIcon("slim3d.jpg");

Page 42: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 42/72

Page 43: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 43/72

submitcolourcontrast.addActionListener(this);

submitcolourcontrast.setActionCommand("Submit Colour Contrast");

adjustcolourcontrast=new JSlider(-50,50,0);

adjustcolourcontrast.setMinorTickSpacing(5);

adjustcolourcontrast.setMajorTickSpacing(20);

adjustcolourcontrast.setPaintTicks(true);

adjustcolourcontrast.setPaintLabels(true);

colourcontrastset.add(adjustcolourcontrast);

colourcontrastset.add(submitcolourcontrast);

contrastset = new JDialog(frame,"Adjust Contrast");

contrastset.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

contrastset.setLayout(new FlowLayout());

contrastset.setSize(300,100);

contrastset.setVisible(false);

submitcontrast=new JButton("Submit");

submitcontrast.addActionListener(this);

submitcontrast.setActionCommand("Submit Contrast");

adjustcontrast=new JSlider(-50,50,0);

adjustcontrast.setMinorTickSpacing(5);

adjustcontrast.setMajorTickSpacing(20);

adjustcontrast.setPaintTicks(true);

adjustcontrast.setPaintLabels(true);

contrastset.add(adjustcontrast);

contrastset.add(submitcontrast);

regionset = new JDialog(frame,"Adjust Region");

Page 44: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 44/72

regionset.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

regionset.setLayout(new FlowLayout());

regionset.setSize(300,100);

regionset.setVisible(false);

submitregion=new JButton("Submit");

submitregion.addActionListener(this);

submitregion.setActionCommand("Submit Region");

adjustregion=new JSlider(0,25,1);

adjustregion.setMinorTickSpacing(1);

adjustregion.setMajorTickSpacing(5);

adjustregion.setPaintTicks(true);

adjustregion.setPaintLabels(true);

regionset.add(adjustregion);

regionset.add(submitregion);

adjustsize = new JDialog(frame,"Adjust Size");

adjustsize.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

adjustsize.setLayout(new FlowLayout());

adjustsize.setSize(200,150);

adjustsize.setVisible(false);

submitsize=new JButton("Submit");

submitsize.addActionListener(this);

submitsize.setActionCommand("Submit Size");

sizex=new JTextField("",4);

sizey=new JTextField("",4);

xsize=new JLabel("Width");

Page 45: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 45/72

xsize.setSize(80,10);

ysize=new JLabel("Height");

ysize.setSize(80,10);

maintainaspect=new JCheckBox("Keep Aspect Ratio",false);

maintainaspect.setSize(40,10);

adjustsize.add(xsize);

adjustsize.add(sizex);

adjustsize.add(ysize);

adjustsize.add(sizey);

adjustsize.add(maintainaspect);

adjustsize.add(submitsize);

givepassword=new JDialog(frame,"Enter Password");

givepassword.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

givepassword.setLayout(new FlowLayout());

givepassword.setSize(270,100);

givepassword.setVisible(false);

 passwordf=new JPasswordField(10);

numberofcycles=new JTextField("",5);

submitpassword=new JButton("Submit");

submitpassword.addActionListener(this);

submitpassword.setActionCommand("Submit Password");

JLabel jlpass=new JLabel("Password");

 jlpass.setLabelFor(passwordf);

JLabel jlcyc=new JLabel("cycles");

 jlcyc.setLabelFor(numberofcycles);

Page 46: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 46/72

givepassword.add(jlpass);

givepassword.add(passwordf);

givepassword.add(jlcyc);

givepassword.add(numberofcycles);

givepassword.add(submitpassword);

giveangle=new JDialog(frame,"Rotation Angle");

givepassword.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

giveangle.setLayout(new FlowLayout());

giveangle.setSize(270,100);

giveangle.setVisible(false);

rotationangle=new JTextField("",5);

submitrotationangle=new JButton("Submit");

submitrotationangle.setActionCommand("Submit rotation angle");

submitrotationangle.addActionListener(this);

giveangle.add(new JLabel("Angle in radians"));

giveangle.add(rotationangle);

giveangle.add(submitrotationangle);

entercolor=new JDialog(frame,"Enter Colors");

entercolor.setLayout(new FlowLayout());

entercolor.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

JButton submitbothcolor=new JButton("Done");

submitbothcolor.setActionCommand("both colors submitted");

entercolor.setSize(500,700);

submitbothcolor.addActionListener(this);

entercolor.add(submitbothcolor);

Page 47: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 47/72

tcc1 = new JColorChooser();

tcc1.getSelectionModel().addChangeListener(this);

tcc2 = new JColorChooser();

tcc2.getSelectionModel().addChangeListener(this);

tcc1.setBorder(BorderFactory.createTitledBorder("Choose Color one "));

tcc2.setBorder(BorderFactory.createTitledBorder("Choose Color two "));

AbstractColorChooserPanel[] oldPanels = tcc1.getChooserPanels();

// Remove panels

for (int i=0; i<oldPanels.length; i++) {

String clsName = oldPanels[i].getClass().getName();

if (clsName.equals("javax.swing.colorchooser.DefaultSwatchChooserPanel"))

{tcc1.removeChooserPanel(oldPanels[i]);}

else if (clsName.equals("javax.swing.colorchooser.DefaultHSBChooserPanel"))

{tcc1.removeChooserPanel(oldPanels[i]);}}

oldPanels = tcc2.getChooserPanels();

// Remove panels

for (int i=0; i<oldPanels.length; i++) {

String clsName = oldPanels[i].getClass().getName();

if 

(clsName.equals("javax.swing.colorchooser.DefaultSwatchChooserPanel")){tcc2.removeChoose

rPanel(oldPanels[i]);}

else if 

(clsName.equals("javax.swing.colorchooser.DefaultHSBChooserPanel")){tcc2.removeChooserP

anel(oldPanels[i]);}}

entercolor.add(tcc1);

entercolor.add(tcc2);

entercolor.add(submitbothcolor);

Page 48: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 48/72

 

stretchcontrast=new JDialog(frame,"Enter non-outliers");

stretchcontrast.setLayout(new FlowLayout());

stretchcontrast.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

stretchcontrast.setSize(270,100);

JButton submitrange=new JButton("Submit");

submitrange.addActionListener(this);

submitrange.setActionCommand("stretchcontrast submitted");

rangecont=new JTextField("1",5);

stretchcontrast.add(new JLabel("Non-Outlier % "));

stretchcontrast.add(rangecont);

stretchcontrast.add(submitrange);

gammabasis=new JDialog(frame,"Enter Basis");

gammabasis.setLayout(new FlowLayout());

gammabasis.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

gammabasis.setSize(270,100);

JButton submitbasis=new JButton("Submit");

submitbasis.addActionListener(this);

submitbasis.setActionCommand("gamma basis submitted");

 basisgam=new JTextField("1",5);

gammabasis.add(new JLabel("Enter power basis"));

gammabasis.add(basisgam);

gammabasis.add(submitbasis);

fcc=new JFileChooser();

Page 49: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 49/72

jlabel1.setBounds(10,10,500,500);

setVisible(true);

}

 public void actionPerformed(ActionEvent ae){

action=ae.getActionCommand();

if(action!="Undo..."&&imageopen&&action!="Open..."&&action!="Crop"){

rgbsundoarray=new int[width*height];

for(int a=0;a<width*height;a++){

rgbsundoarray[a]=rgbs[a];}

widthundo=width;

heightundo=height;

}

if(selrectformed&&action!="Crop"&&action!="Open..."&&action!="Save..."&&action!="Quit"

){

rgbsbuffer=new int[width*height];

widthbuffer=width;

heightbuffer=height;

for(int a=0;a<width*height;a++)

{

rgbsbuffer[a]=rgbs[a];

}

int initialx=(int)(rectix/imagescaleratio);

int initialy=(int)(rectiy/imagescaleratio);

int finalx=(int)(rectfx/imagescaleratio);

int finaly=(int)(rectfy/imagescaleratio);

Page 50: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 50/72

int w=finalx-initialx+1;

int h=finaly-initialy+1;

BufferedImage buffer1 = new BufferedImage(width, height,

BufferedImage.TYPE_INT_RGB);

BufferedImage buffer2 = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);

 buffer1.setRGB(0, 0, width, height, rgbs, 0, width);

 buffer2 = buffer1.getSubimage(initialx, initialy, w, h);

width=w;

height=h;

rgbs=new int[w*h];

 buffer2.getRGB(0, 0, width, height, rgbs, 0, width);

}

if(action=="Histogram"){

BufferedImage bufferimage3 = new BufferedImage(532,500,

BufferedImage.TYPE_INT_RGB);

Graphics grahist= bufferimage3.createGraphics();

drawhist(grahist);

Image hist=toImage(bufferimage3);

 jlabel2.setIcon(new ImageIcon(hist));

JFrame histogramframe=new JFrame("Histogram");

histogramframe.setSize(650,550);

histogramframe.add(jlabel2);

histogramframe.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

histogramframe.setVisible(true);

histogramframe.pack();

dialogopen=true;

Page 51: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 51/72

}

if(action=="Show Info"){

BufferedImage bufferimage3 = new BufferedImage(532,500,

BufferedImage.TYPE_INT_RGB);

Graphics grahist= bufferimage3.createGraphics();

String file="";

for(int a=filename.length()-1;a>=0;a--){

char x='b';

x=filename.charAt(a);

if((x+x)!=184){file=x+file;}

else break;

}

filename=file;

showinfo(grahist);

Image info=toImage(bufferimage3);

 jlabel4.setIcon(new ImageIcon(info));

JFrame infoframe=new JFrame("Information");

infoframe.setSize(650,550);

infoframe.add(jlabel4);

infoframe.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

infoframe.setVisible(true);

infoframe.pack();

}

if (action=="Open...") {

fcc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);

Page 52: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 52/72

int returnVal = fcc.showDialog(Enhancer.this,"Open");

if (returnVal == JFileChooser.APPROVE_OPTION) {

File filex = fcc.getSelectedFile();

BufferedImage buffer = new BufferedImage(width, height,

BufferedImage.TYPE_INT_RGB);

 buffer=(BufferedImage)loadimage(filex);

filename=""+filex ;

width=buffer.getWidth();

height=buffer.getHeight();

rgbs=new int[width*height];

 buffer.getRGB(0, 0, width, height, rgbs, 0, width);

//imagedisplay = toImage(compressImage(bufferimage1 , 400.0 , 400.0));

//i1=new ImageIcon(imagedisplay);

//jlabel1.setIcon(i1);

//jlabel1.setBounds(10,10,500,500);

int brightnessincrement=10;

int brightnessvalue=0;

imageopen=true;

}

if (returnVal == JFileChooser.CANCEL_OPTION) {}

}

if(action=="Save...") {

fcc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);

int returnVal = fcc.showDialog(Enhancer.this,"Save");

if (returnVal == JFileChooser.APPROVE_OPTION) {

Page 53: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 53/72

BufferedImage bufferimagesave = new BufferedImage(width, height,

BufferedImage.TYPE_INT_RGB);

 bufferimagesave.setRGB(0, 0, width, height, rgbs, 0, width);

File filex = fcc.getSelectedFile();

saveimage(bufferimagesave,filex);

//This is where a real application would save the file;

} }

if(action=="Quit"){System.exit(0);}

if(action=="Invert"){invert();}//1

if(action=="Black &W

hite"){blackandwhite();}//2

if(action=="Smooth 9x9"){smoothing();}//3

if(action=="Weighted Smooth 9x9"){weightedsmoothing();}//4

if(action=="Median"){filtermedian();}//5

if(action=="Threshhold Average"){threshholdaveraging();}//6

if(action=="Conservative"){conservative();}//7

if(action=="Find Edges"){findedgessuperb();}//8

if(action=="Sharpen"){sharpen2();}//9

if(action=="SquareRoot"){squareroot();}//10

if(action=="Log"){log();}//11

if(action=="Square"){square();}//12

if(action=="Reciprocal"){reciprocal();}//13

if(action=="Flip vertical"){flipvertical();}//14

if(action=="Flip horizontal"){fliphorizontal();}//15

if(action=="Contrast"){contrastset.setVisible(true);dialogopen=true;}//16

if(action=="Colour Contrast"){colourcontrastset.setVisible(true);dialogopen=true;}//17

Page 54: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 54/72

if(action=="Colour"){colour();}//18

if(action=="Distribute"){regionset.setVisible(true);dialogopen=true;}//19

if(action=="Fun"){fun();}

if(action=="Binary"){binary();}

if(action=="Pencil Sketch"){pencilsketch();}

if(action=="Mean"){}

if(action=="Swap Any Color"){entercolor.setVisible(true);dialogopen=true;}

if(action=="Minimum"){minimumfilter();}

if(action=="Maximum"){maximumfilter();}

if(action=="Encrypt"){givepassword.setVisible(true);password="encrypt";dialogopen=true;}

if(action=="Decrypt"){givepassword.setVisible(true);password="decrypt";dialogopen=true;}

if(action=="Brightness"){brightnesset.setVisible(true);dialogopen=true;}

if(action=="Size"){adjustsize.setVisible(true);dialogopen=true;}

if(action=="Red and Green"){swapcolor(1,1,0);}

if(action=="Red and Blue"){swapcolor(1,0,1);}

if(action=="Blue and Green"){swapcolor(0,1,1);}

if(action=="NOT"){booleannot();}

if(action=="Flip arbitrary"){giveangle.setVisible(true);dialogopen=true;}

if(action=="Crop"){crop();}

if(action=="Transpose"){transpose();}

if(action=="Emboss"){emboss();}

if(action=="Cut..."){cutimagepart();}

if(action=="Equalize Histogram"){histogramequalisation();}

if(action=="Contrast Stretch"){stretchcontrast.setVisible(true);dialogopen=true;}

if(action=="Gamma"){gammabasis.setVisible(true);dialogopen=true;}

Page 55: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 55/72

if(action=="Save as..."){function();}

if(action.length()>11&&action.charAt(11)=='.'){String

turns=action.substring(12,action.length());makecolor((int)Double.parseDouble(turns));}

//{String

turns=action.substring(12,action.length());makecolor((int)Double.parseDouble(turns));}

if(action=="Undo..."){

width=widthundo;

height=heightundo;

rgbs=new int[width*height];

for(int a=0;a<width*height;a++){

rgbs[a]=rgbsundoarray[a];

}}

if(action=="Submit Brightness"){

 brightnessincrement=adjustbrightness.getValue();

 brightnesset.setVisible(false);

adjustbrightness.setValue(0);

 brightnesset.dispose();

 bright(brightnessincrement);

dialogopen=false;}

if(action=="Submit Region"){

regions=adjustregion.getValue();

regionset.dispose();

distribute();

dialogopen=false;

}

Page 56: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 56/72

if(action=="Submit Size"){

int widt=(int)Double.parseDouble(sizex.getText());

int hieg=(int)Double.parseDouble(sizey.getText());

if(maintainaspect.isSelected()){hieg=(int)((height*widt*1.0)/(width*1.0));}

adjustsize.dispose();

adjustsize(widt,hieg);

dialogopen=false;

}

if(action=="Submit Password"){

 boolean enc=(password=="encrypt")?true:false;

 password="";

char[] input = passwordf.getPassword();

for(int xa=0;xa<input.length;xa++){

 password=password+input[xa];

}

//password=passwordf.getText();

encryptationcycles=(int)Double.parseDouble(numberofcycles.getText());

givepassword.dispose();

if(enc){

for(int a=0;a<2*encryptationcycles;a++){

encrypt2();}

encrypt();

}

else{

Page 57: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 57/72

decrypt();

for(int a=0;a<2*encryptationcycles;a++){

decrypt2();}}

dialogopen=false;

}

if(action=="Submit rotation angle"){

double angle=Double.parseDouble(rotationangle.getText());

giveangle.dispose();

fliparbitrary(angle);

dialogopen=false);

}

if(action == "Submit Colour Contrast"){

int co=adjustcolourcontrast.getValue();

colourcontrast(co);

colourcontrastset.setVisible(false);

adjustcolourcontrast.setValue(0);

colourcontrastset.dispose();

dialogopen=false;

}

if(action == "Submit Contrast"){

int co=adjustcontrast.getValue();

contrast(co);

contrastset.setVisible(false);

adjustcontrast.setValue(0);

contrastset.dispose();

Page 58: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 58/72

dialogopen=false;

}

if(action == "both colors submitted"){

Color colorsel1=tcc1.getColor();

Color colorsel2=tcc2.getColor();

entercolor.dispose();

double red1=colorsel1.getRed();

double green1=colorsel1.getGreen();

double blue1=colorsel1.getBlue();

double red2=colorsel2.getRed();

double green2=colorsel2.getGreen();

double blue2=colorsel2.getBlue();

anycolorswap(red1,green1,blue1,red2,green2,blue2);

dialogopen=false;

}

if(action=="stretchcontrast submitted"){

double x=Double.parseDouble(rangecont.getText());

stretchcontrast.dispose();

contraststretching(x);

dialogopen=false;

}

if(action=="gamma basis submitted"){

double x=Double.parseDouble(basisgam.getText());

gammabasis.dispose();

Page 59: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 59/72

gammacorrection(x);

if(selrectformed&&action!="Crop"&&action!="Open..."&&action!="Save..."&&action!="Quit"

){

int initialx=(int)(rectix/imagescaleratio);

int initialy=(int)(rectiy/imagescaleratio);

int finalx=(int)(rectfx/imagescaleratio);

int finaly=(int)(rectfy/imagescaleratio);

int w=finalx-initialx+1;

int h=finaly-initialy+1;

width=widthbuffer;

height=heightbuffer;

BufferedImage buffer1 = new BufferedImage(width, height,

BufferedImage.TYPE_INT_RGB);

BufferedImage buffer2 = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);

 buffer1.setRGB(0, 0, width, height, rgbsbuffer, 0, width);

 buffer2.setRGB(0, 0, w, h, rgbs, 0, w);

Graphics2D graregion=buffer1.createGraphics();

graregion.drawImage(buffer2,initialx,initialy,this);

rgbs=new int[width*height];

 buffer1.getRGB(0, 0, width, height, rgbs, 0, width);

}

selrectformed=false;

rectix=0;

rectiy=0;

rectfx=0;

rectfy=0;

Page 60: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 60/72

initmousex=0;

initmousey=0;

finamousex=0;

finamousey=0;

nowmousex=0;

nowmousey=0;

BufferedImage buffer = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);

 buffer.setRGB(0, 0, width, height, rgbs, 0, width);

//jlabel1.setIcon((jlabel3.getIcon())); // uncomment this line to show just previous image

instead of loaded image

limitingframewidth=0;

if(height<=maximageframesize&&width<=maximageframesize){limitingframewidth=(height>w

idth)?height:width;}

else{limitingframewidth=maximageframesize;}

 jlabel1.setText(""+width+"x"+height+" Number of pixels : "+width*height);

 bufferimagedisplay= (compressImage(buffer,limitingframewidth*1.0 ,

limitingframewidth*1.0));

 bufferimagedisplay2= (compressImage(buffer,limitingframewidth*1.0 ,

limitingframewidth*1.0));

 jlabel3.setIcon( new ImageIcon(toImage(bufferimagedisplay)));

 jlabel3.setSize(width,height);

imageframe.setResizable(false);

imageframe.pack();

if(!dialogopen&&!otherframeopen)imageframe.setVisible(true);

frame.pack();

frame.setVisible(true);

//runtimeforgarbagecollection.gc();

Page 61: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 61/72

}

 public void mousePressed(MouseEvent me){

 jlabel3.setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));

initmousex=me.getX();

initmousey=me.getY();

if((me.getX()<rectfx&&me.getX()>rectix)&&(me.getY()<rectfy&&me.getY()>rectiy))

{

selectedrectdragged=true;dragstartcoordinatex=me.getX();dragstartcoordinatey=me.getY();

}

else {selectedrectdragged=false;}

if(selrectformed&&(!selectedrectdragged)){

 bufferimagedisplay=copybuffimage(bufferimagedisplay2);

 jlabel3.setIcon( new ImageIcon(toImage(bufferimagedisplay)));

imageframe.pack();

imageframe.setVisible(true);

selrectformed=false;

}

}

 public void mouseReleased(MouseEvent me){

 jlabel3.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));

finamousex=me.getX();

finamousey=me.getY();

if(initmousex==finamousex&&initmousey==finamousey&&selrectformed){selectedrectdragged

=false;}

}

Page 62: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 62/72

 

CHAPTER-5 

RESULT

Page 63: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 63/72

Result

Our project have some result which is discussed below. In this project we are

showing different variations in a particular image by various operations where

there is no other device entry but we are taking files or image files from our pc¶sand laptops & then performing various operations by which effect can be seen in

those images.

FIG 5.1

FIG5.2

Page 64: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 64/72

Page 65: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 65/72

 

FIG 5.5

FIG 5.6

Page 66: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 66/72

 

CHAPTER-6

USER MANUAL

Page 67: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 67/72

User Manual

6.1 Manual

Whenever a user clicks on the img file of the image enhancement ,a interface or awindow gets opens containing a button called as ENTER, this enter button is used

to enter in the project main screen, where the image selection screen appears,

which has seven fields.

Whenever a user select a field for image enhancement another window opens

which has some graphical user interface to show how it works.

In this was all the seven fields are work.

6.2 Hardware and software specification

Hardware requirement

Processor : Any intel or AMD processor(above Pentium series).

RAM : 256 to 512 MB

Secondary storare : 4 GB

Input Device : keyboard

Display device : LCD TV

Software requirement

The minimum s/w requirements for JSE are:-

1.Any operating system

Operating system is a set of programs(system calls) implemented in the form of s/w or firmware that makes the h/w of the computer usable.

2. Java 2 Software Development Kit (J2SDK v 1.5.0 and above)

3.J2SE COMPILER 

Page 68: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 68/72

 

CHAPTER-7

CONCLUSION AND FUTURE SCOPE

Page 69: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 69/72

 

Conclusion and Future Scope

7.1 Conclusion

Here,in this project, it is mentioned or it makes a clearification that the images are

  preformed here with number of variations which includes all the features image

enhancement and various techniques regarding to it. All these features included

here gives the defination or observations of that sort of image which consist of 

various parameters through number of changes can be made in the image.

But its major drawback is that it doesnot consist of any sort of Backend due to

which we are not able to take it from outside.

7.2 Future Scope

  Now, when talk about future scope, then we regards about the main that is a

  particular feature that is Backend of this project and in coming time, we canenhance a sort of Backend which will then provide the facility of taking it from

outside.

Page 70: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 70/72

 

CHAPTER-8

REFERENCE

Page 71: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 71/72

 

Reference

1.  AK JAIN2.  GONZALWISH

3.  RESEARCH.VTU.AC.IN\STUDENT\20INFO\....NEW\DSCE_AMUTHA.

S.PDF

4.  VISL.TECHNION.AC.IL\YALIK\PUD\THESISTING9.PDF

5. WWW.GEA.COM\...\PAPER_2010_ICIS_TESTTARGET_DESIGN_FOR 

 _IMAGE_FOR_IMAGE-EVALUATIONPDF_UNTITED STATES

6.  N.K. Ratha, K. Karu, S. Chen, A.K. Jain, A real-time matching system for 

large fingerprint databases, IEEE Transaction on Pattern Analysis andMachine Intelligence 18 (8) (1996) 799±813.

7.  L.C. Jain, U. Halici, I. Hayashi, S.B. Lee, S. Tsutsui, Intelligence

BiometricTechniques in Fingerprint and Face Recognition, CRC Press,

1999.

8.  L. Hong, Y. Wan, A.K. Jain, Fingerprint image enhancement: algorithmand

 performance evaluation, IEEE Transaction on Pattern Analysis and Machine

Intelligence 20 (8) (1998) 777±789.

9.   N.K. Ratha, R.M. Bolle, Fingerprint Image Quality Estimation, IBM

Computer Science Research Report RC 21622, 1999

10. E. Lim, X. Jiang, W. Yau, Fingerprint quality and validity analysis, IEEEInternational Conference on Image Processing (ICIP 2002), 1 2002 pp. 22± 

25.

11. R. Bolle, S. Pankanti, Y.-S. Yao, System and Method for Determining the

Quality of Fingerprint Images, US Patent Number US 596356, 1999

12. L.L. Shen, A. Kot, W.M. Koo, Quality measures of fingerprint images. The

3rd International Conference Audio- and Video-based Biometric Person

Authentication (AVBPA 2001), 2001, pp. 182±271.

13. H.C. Lee, R.E. Gaensslen, Advances in Fingerprint Technology, CRC

Press, 2001.14. A.K. Jain, S. Pankanti, S. Prabhakar, A. Ross, Recent advances in

fingerprint verification, 3rd International Conference on Audio- and Video-

Based Person Authentication, 2001, pp. 182±191.15. F. Galton, Finger Prints, Macmillan, London, 1892.

Page 72: Finer Print Image Enhancement (21)

8/6/2019 Finer Print Image Enhancement (21)

http://slidepdf.com/reader/full/finer-print-image-enhancement-21 72/72