Image Processing in Java
Filter Applet
The Filter Applet takes an image, displays the image, and
displays a filtered version of the image. For fun, a tool to scribble
on the image is included.
In particular, I'm interested in edge detection. Edge detection and
image segmentation probably represent the next generation in lossy image
compression after the Discrete Wavelet Transform. At very high
compression ratios, the Discrete Cosine Transform and the Discrete Wavelet Transform
fail to preserve edges, producing blurring and ringing artifacts at edges
in images. The human visual system is extremely sensitive to edges. A
lossy image compression system must preserve edges.
- Select Filter (Choices are Red, Green, Blue, and Luma)
- Click on Toggle Filter to see the filtered image
- Click on Toggle Filter again to restore the source image
Filters
- Red Filter
- Red Color Component of Image
- Green Filter
- Green Color Component of Image
- Blue Filter
- Blue Color Components of Image
- Luma Filter
- CCIR-601 Luminance (in Grayscale) of Image
- Simple Edge Filter
- Essentially the First Derivative in X (horizontal) direction. This is a
very crude way to see edges in an image. The applet applies the filter
to the luminance component of the image.
- Sobel Edge Filter
- The Sobel edge detection operator. Easy to see that this is superior
to the Simple Edge Filter. The applet applies the edge detection filter
to the luminance component of the image.
- Kirsch Edge Filter
- The Kirsch edge detection operator. Generally, a little better than the
Sobel operator. The applet applies the edge detection filter to
the luminance component of the image.
- Gaussian
- Gaussian blurring of the image.
- Laplacian of Gaussian
- Zero-crossings of the Laplacian of the Gaussian of the CCIR-601
Luma component of the image.
- Marr-Hildreth
- Zero-crossings of the Laplacian of the Gaussian at one resolution and
the Laplacian of the Gaussian at another resolution. Only pixels that
are zero-crossings in both resolutions are tagged as edge pixels. Notice
that the Marr-Hildreth edge pixels don't correspond very well to the
your eye's perception of the edges.
NOTE: This applet was compiled using Visual J++ 1.0. I've
found it displays correctly with Internet Explorer on Windows NT
and Macintosh. It also seems to work with Netscape Navigator 3.01
under Windows 95. My Macintosh Netscape browser exhibited some
problems with it.
Send mail to John
Back to John's Home Page