| |
| |
List of Figures and Tables | |
| |
| |
Acknowledgment | |
| |
| |
Foreword | |
| |
| |
Preface | |
| |
| |
Why Should I Care About Java? | |
| |
| |
Who Should Read This Book? | |
| |
| |
Why Not Use the Advanced Imaging Package? | |
| |
| |
This Is Not Just a Textbook | |
| |
| |
What Chapters Do I Need to Read? | |
| |
| |
How Can I Use the Web to Teach and Learn More Image Processing? | |
| |
| |
| |
Introduction | |
| |
| |
| |
What is This Book About? | |
| |
| |
| |
What is Image Processing? | |
| |
| |
| |
What is Java? | |
| |
| |
| |
Why Do Image Processing in Java? | |
| |
| |
| |
Who Should Read This Book? | |
| |
| |
| |
What Will You Learn? | |
| |
| |
| |
Event Processing and the AWT | |
| |
| |
| |
The Frame Class | |
| |
| |
| |
Interaction | |
| |
| |
| |
The EventTester | |
| |
| |
| |
Intercepting Menu Events | |
| |
| |
| |
The ShortCutFrame | |
| |
| |
| |
Petri Nets | |
| |
| |
| |
BooLog | |
| |
| |
| |
ExpandoLog | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
Summary | |
| |
| |
| |
Suggested Projects | |
| |
| |
| |
Displaying and Filtering Images | |
| |
| |
| |
Image Representation | |
| |
| |
| |
Scalar Numeric Data Types | |
| |
| |
| |
Arrays in Java | |
| |
| |
| |
Drawing in Java | |
| |
| |
| |
The ImageFrame Class | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
The FilterFrame | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
Class Implementation | |
| |
| |
| |
The GrabFrame Class | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
Class Implementation | |
| |
| |
| |
SnellWlx Class and Test Patterns | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Implementation | |
| |
| |
| |
Homogeneous Point Processing | |
| |
| |
| |
The Histogram Class | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
Homogeneous Point Processing Functions | |
| |
| |
| |
Using the Pow Function | |
| |
| |
| |
Using Linear Transforms | |
| |
| |
| |
The Uniform Non-Adaptive Histogram Equalization | |
| |
| |
| |
Maple and Exponential Non Adaptive Histogram Equalization | |
| |
| |
| |
Adaptive Histogram Equalization | |
| |
| |
| |
The Transform Table Class | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
The NegateFrame Class | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
Summary | |
| |
| |
| |
Digital Image Processing Fundamentals | |
| |
| |
| |
The Human Visual System | |
| |
| |
| |
Overview of Image Processing | |
| |
| |
| |
Digitizing a Signal | |
| |
| |
| |
Image Digitization | |
| |
| |
| |
Image Display | |
| |
| |
| |
Input Streams | |
| |
| |
| |
Getting a FileName | |
| |
| |
| |
File Input Stream | |
| |
| |
| |
The Ubyte Class | |
| |
| |
| |
The StreamSniffer Class | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
Image File Readers and Writers | |
| |
| |
| |
Getting a Filename and Writing a PPM File | |
| |
| |
| |
Writing a Program That Writes a Program | |
| |
| |
| |
Writing Lossless 24-Bit Color Image Files | |
| |
| |
| |
Reading GZIP Compressed PPM Files | |
| |
| |
| |
The SaveFrame Class | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
The OpenFrame Class | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
The Timer Class | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
Class Example: Loop Interchange | |
| |
| |
| |
The ProgressFrame | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
The WriteGif | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
The WritePPM Class | |
| |
| |
| |
The PPM | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Example | |
| |
| |
| |
Summary | |
| |
| |
| |
Projects | |
| |
| |
| |
Direct Convolution | |
| |
| |
| |
The Mathematical Basis of Convolution | |
| |
| |
| |
The Cyclic Convolution, Correctness and Speed | |
| |
| |
| |
Generating Convolution Kernels - The Mat Class | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
Implementing Direct Convolution | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
Summary | |
| |
| |
| |
Spatial Filters | |
| |
| |
| |
Blurring | |
| |
| |
| |
Median Filtering | |
| |
| |
| |
High-Pass | |
| |
| |
| |
The SpatialFilterFrame | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
Summary | |
| |
| |
| |
Suggested Projects | |
| |
| |
| |
Convolution-based Edge Detection | |
| |
| |
| |
Laplace Filter | |
| |
| |
| |
Roberts | |
| |
| |
| |
Sobel and the Double Templates | |
| |
| |
| |
Comparing Edge Detectors | |
| |
| |
| |
Summary | |
| |
| |
| |
Projects | |
| |
| |
| |
EdgeFrame Class | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
Morphological Filtering | |
| |
| |
| |
Set Theory | |
| |
| |
| |
Erosion and Dilation | |
| |
| |
| |
Opening and Closing | |
| |
| |
| |
Outlining | |
| |
| |
| |
Thinning and Skeletonization | |
| |
| |
| |
Summary | |
| |
| |
| |
Projects | |
| |
| |
| |
The MorphFrame | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
Boundary Processing | |
| |
| |
| |
Hough Transform | |
| |
| |
| |
Simple Edge Tracing | |
| |
| |
| |
Edge Detection | |
| |
| |
| |
Summary | |
| |
| |
| |
Projects | |
| |
| |
| |
The BoundaryFrame | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
The MartelliFrame | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
Chromatic Light | |
| |
| |
| |
Introduction to Color | |
| |
| |
| |
Tristimulus | |
| |
| |
| |
RGB and XYZ for Illuminant D65 | |
| |
| |
| |
Sub-Sampling | |
| |
| |
| |
YIQ and NTSC Encoders | |
| |
| |
| |
Linear Cut Color Reduction | |
| |
| |
| |
The Median Cut Algorithm | |
| |
| |
| |
Summary | |
| |
| |
| |
Projects | |
| |
| |
| |
The ColorHash Class | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
The ColorFrame | |
| |
| |
| |
Class Summary | |
| |
| |
| |
Class Usage | |
| |
| |
| |
Warping | |
| |
| |
| |
Translation | |
| |
| |
| |
Scaling | |
| |
| |
| |
Rotation | |
| |
| |
| |
Shear | |
| |
| |
| |
The AffineFrame | |
| |
| |
| |
Applying the Transforms to an Image | |
| |
| |
| |
Inferring a 3 Point Affine Mapping | |
| |
| |
| |
Inferring a 4 Point Bilinear Map | |
| |
| |
| |
Effects | |
| |
| |
| |
Projects | |
| |
| |
| |
Unitary Transforms | |
| |
| |
| |
Introduction | |
| |
| |
| |
The Discrete Fourier Transform | |
| |
| |
| |
The Wavelet Transform | |
| |
| |
| |
The Haar Basis | |
| |
| |
| |
Implementing the Two-Dimensional Haar Lifting | |
| |
| |
| |
Writing a Wavelet Encoded File | |
| |
| |
| |
Summary | |
| |
| |
| |
Projects | |