Image Processing in
Java
Image Processing in Java
gives a unified, introductory treatment to two-dimensional image
processing concepts with emphasis on fundamentals and Java examples.
Topics include enhancement, restoration, compression, in-line Java
decoders, transform theory, interface design, programming and
deployment techniques.
Prerequisite:
Digital Signal Processing, In
Java
E-mail:
lyon@DocJava.com
Web: http://www.DocJava.com
Text:
Image Processing in Java
by Douglas Lyon, Prentice Hall (c)
1999. Available from Prof. Lyon.
Text available from:
Prof. Lyon.
Computer Usage:
Web and e-mail access are
REQUIRED. You MUST have access to a
computer with a Java compiler. MetroWerks CodeWarrior is strongly
suggested. This product is in the book store and available for a low
academic price (list price $495, student price $89.95).
References:
Java Digital Signal
Processing by D. Lyon and H. Rao,
M&T Books, (c) 1997. Available from Prof. Lyon, UB Bookstore or
AMAZON.COM:
http://www.amazon.com/exec/obidos/ISBN=1558515682/douglaslyonA/
Java Source Book
by Ed Anuff, The John Wiley and
Sons, Inc., First Edition, (c)1996.
The Java Class Libraries,
Second Edition, Volume 1 and Volume 2.
Volume 1 is by Chan and
Lee, Volume 2 is by Chan Lee and Kramer.
Addison Wesley, 1998.
Available from: UB Bookstore or Amazon:
http://www.amazon.com/exec/obidos/ISBN=0201310023/douglaslyonA/
http://www.amazon.com/exec/obidos/ISBN=0201310031/douglaslyonA/
How to Program Java
by Deitel and Deitel, Prentice
Hall, First Edition, (c) 1997.
Course Notes, as
required, some are available on-line at http://lyon.bridgeport.edu or
by purchase of copies.
Goals:
To build upon the knowledge
gained in CS410 and learn how to design research test-beds for
distributed object-oriented computing on the web. Students will be
exposed to a variety of modern Java programming topics.
Coordinator:
Douglas Lyon, Professor of
Computer Science and Engineering. E-mail: lyon@snet.net
Prerequisites by Topic:
1. Java programming
experience (CS410 or equivalent)
2. Mathematical maturity
(integral calculus and linear algebra)
3. Use of computer tools,
including e-mail, browsers and compilation tools.
4. Data structures, priority
queues, hashing etc. (CS 400 or equivalent)
Topics: (coverage will be
altered to encompass the latest APIs)
Week 1: Using the AWT -
The new Event model
The Graphics Class
Test Patterns
Color Bars
resolution chart
multi-burst test chart
Snell and Wilcox test
chart
Interaction
The mouse
The keyboard
The Evt class
building the menu
intercepting menu event
intercepting keyboard
events
Week 2: The Model-View
Approach
observables and the
dialogs boxes
Int Dialog
Float Dialog
File dialogs
The ImageFrame Class
oldPixels
newPixels
menu construction
Week 3: Streams
File input stream
stream tokenizer
closing a file
token flags
writing files
summary for writing files
Save File Example/ set-up
main menu bar
Process menu pick - save
Week 4: Digital Image
Processing Fundamentals
Overview of Image
Processing and its application
Image Storage and Display
image models
cameras video and
scanners
Current state of
streaming video on the Internet
Problems and solutions
Sampling
Spectra and Spectra
Preview of Image
processing
Week 5: The PixelPlane
Class
range checking
PixelGrabbers
internal data structures
the ImageStream
the ImageDataStream
Image doubleData
Reading and Writing
Images
Reading GIF and JPEG
Writing GIF
Reading PPM
Writing PPM
Week 6: Edge Detection
Roberts, Prewitt,
Frei-Chen,
Kirsch, Sobel,
boxcar, pyramid, argyle,
Macleod,
derivative of Gaussian,
Robinson,
Canny
Laplacian generation,
Laplacian of Gaussian
Hat
Week 7: Boundary
Processing
XY to Vector Conversion
vector ordering using
Dijkstras' algorithm
Edge following and
Martellis' algorithm
Divide-and-conquer
boundary detection
Range finding via
diffraction
Range map to boundary
representation
Week 8: Image Enhancement
Techniques
Blur
mean, median, unsharp
smoothing binary images
by association
local area contrast
enhancement
histogram equalization
lowpass filtering
highpass filtering
averaging multiple images
Week 9: Achromatic and
Colored Light
Selecting
Intensities-Gamma Correction in Java
Chromatic Color
psychophysics
Color models (CIE, RGB,
YUV, CMY, HSV, YIQ)
Color coordinate systems
RGB to L*u*v*, L*u*v* to
RGB
RGB to L*a*b*, L*a*b* to
RGB
RGB to XYZ, XYZ to RGB
RGB to YIQ, YIQ to RGB
RGB to YUV, YUV to RGB
RGB to HSV, HSV to RGB
RGB to HLS, HLS to RGB
Week 10: Thresholding
techniques
Global thresholding
multilevel thresholding
variable thresholding
thresholding using image
statistics
using mean and standard
deviation
using maximization of
between-class variance
Week 11: Morphological
filtering
set theory
arithmetic operations
boolean operations
erosion and dilation
medial axis transform
skeletonization
Week 12: Warping
scaling
rotation
shear
cutting and pasting
conformal image mapping
warping
Week 13: The Cosine
Transform
The Discrete Cosine
Transform
The Inverse Discrete
Cosine Transform
The Fast Cosine Transform
Class
Reading and Writing JPEG
Images
Week 14: The InLine MPEG
CODEC
Compressed MPEG movies
images
decoding MPEG
encoding MPEG
reading MPEG files
writing MPEG files
displaying MPEG files
measuring loss
Implementing in-line Java
Decoders
Week 15: The Wavelet
Transform
The Discrete Wavelet
Transform
The Inverse Discrete
Wavelet Transform
The Fast Wavelet
Transform Class
Writing a wavelet encoded
file
Decoding the wavelet
encoded file
Incorporating the decoder
with the data
Distribution of wavelet
images on the Net.