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.

Text:

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:

http://www.amazon.com/exec/obidos/ISBN=1558515682/douglaslyonA/

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/

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.