Image Processing in Java


Filter Applet

SORRY, your browser does not support Java!!!!

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.

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