KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > WaveletImageTransform


1 import java.awt.*;
2 import java.awt.event.*;
3 import JSci.awt.*;
4 import JSci.maths.wavelet.*;
5 import JSci.maths.wavelet.cdf2_4.*;
6
7 /**
8 * Launch the following code on an image having odd dimensions
9 * and you'll have a visual example.
10 * @author Daniel Lemire
11 */

12 public final class WaveletImageTransform extends Frame {
13         public static void main(String JavaDoc[] arg) {
14                 if(arg.length==0) {
15                         System.err.println("Please specify an image with odd dimensions.");
16                         return;
17                 }
18                 new WaveletImageTransform(arg[0]);
19         }
20         public WaveletImageTransform(String JavaDoc filename) {
21                 super("Fast Wavelet Transform");
22                 addWindowListener(new WindowAdapter() {
23                         public void windowClosing(WindowEvent evt) {
24                                 dispose();
25                                 System.exit(0);
26                         }
27                 });
28
29                 System.err.println("Opening \""+filename+"\"");
30                 PixelArray pa1=new PixelArray(filename);
31                 ImageCanvas ic1=new ImageCanvas(pa1.rebuildImage());
32                 System.err.println("Please wait... This could take a few minutes...");
33
34                 PixelArray[][] paa=pa1.greenFWT(new CDF2_4());
35
36                 ImageCanvas ic0_0=new ImageCanvas(paa[0][0].rebuildImage());
37
38                 ImageCanvas ic1_0=new ImageCanvas(paa[1][0].rebuildImage());
39                 ImageCanvas ic0_1=new ImageCanvas(paa[0][1].rebuildImage());
40                 ImageCanvas ic1_1=new ImageCanvas(paa[1][1].rebuildImage());
41
42                 setLayout(new GridLayout(2,0,2,2));
43                 add(ic1);
44                 Panel p2=new Panel();
45                 p2.setLayout(new GridLayout(0,2,1,1));
46                 p2.add(ic0_0);
47                 p2.add(ic1_0);
48                 p2.add(ic0_1);
49                 p2.add(ic1_1);
50                 add(p2);
51                 setBounds(0,0,400,400);
52                 show();
53         }
54 }
55
56
Popular Tags